Ignore:
Timestamp:
Jul 22, 2024, 9:29:09 PM (6 months ago)
Author:
abarral
Message:

Replace most uses of CPP_DUST by the corresponding logical defined in lmdz_cppkeys_wrapper.F90
Convert several files from .F to .f90 to allow Dust to compile w/o rrtm/ecrad
Create lmdz_yoerad.f90
(lint) Remove "!" on otherwise empty line

Location:
LMDZ6/branches/Amaury_dev/libf/phylmdiso
Files:
1 added
26 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/branches/Amaury_dev/libf/phylmdiso/add_phys_tend_mod.F90

    r5087 r5099  
    1 !
     1
    22! $Id$
    3 !
    4 !
     3
     4
    55MODULE add_phys_tend_mod
    66
     
    120120  RETURN
    121121END SUBROUTINE add_pbl_tend
    122 !
     122
    123123! $Id$
    124 !
     124
    125125SUBROUTINE add_phys_tend (zdu,zdv,zdt,zdq,zdql,zdqi,zdqbs,paprs,text, &
    126126                          abortphy,flag_inhib_tend, itap, diag_mode &
     
    175175INTEGER,                        INTENT(IN)    :: diag_mode       ! 0 -> normal effective mode
    176176                                                                 ! 1 -> only conservation stats are computed
    177 !
     177
    178178REAL, DIMENSION(klon,klev),     INTENT(INOUT) :: zdq
    179179#ifdef ISO
     
    204204REAL, DIMENSION(ntraciso,klon,klev)   :: sav_xtl_seri, sav_xts_seri, sav_xt_seri
    205205#endif
    206 !
     206
    207207INTEGER i, k,j, n
    208208INTEGER jadrs(klon*klev), jbad
     
    216216logical, save :: first=.true.
    217217!$OMP THREADPRIVATE(first)
    218 !
     218
    219219!======================================================================
    220220! Variables for energy conservation tests
    221221!======================================================================
    222 !
    223222
    224223! zh_col-------  total enthalpy of vertical air column
     
    234233! zqbs_col------  total mass of blowing snow (kg/m2)
    235234! zek_col------  total kinetic energy (kg/m2)
    236 !
     235
    237236REAL zairm(klon, klev) ! layer air mass (kg/m2)
    238237REAL zqw_col(klon,2)
     
    273272        first=.false.
    274273     endif
    275 !
     274
    276275!  print *,'add_phys_tend: paprs ',paprs
    277276! When in diagnostic mode, save initial values of out variables
     
    422421      ENDDO
    423422ENDIF
    424 !
     423
    425424!=====================================================================================
    426425! Impression, warning et correction en cas de probleme moins important
     
    531530#endif
    532531#endif
    533 !
    534532
    535533!IM ajout memes tests pour reverifier les jbad, jqbad beg
     
    572570      ENDDO
    573571ENDIF
    574 !
     572
    575573IF (jqbad > 0) THEN
    576574      DO j = 1, jqbad
     
    646644
    647645  end if ! end if (fl_ebil .GT. 0)
    648 !
     646
    649647! When in diagnostic mode, restore "out" variables to initial values.
    650648  IF (diag_mode == 1) THEN
     
    706704REAL, DIMENSION(nlon,nlev)      :: temp_n, qv_n, ql_n, qs_n, qbs_n
    707705
    708 
    709 !
    710706INTEGER k, n
    711707
     
    713709logical, save :: first=.true.
    714710!$OMP THREADPRIVATE(first)
    715 !
     711
    716712!======================================================================
    717713! Variables for energy conservation tests
    718714!======================================================================
    719 !
    720715
    721716! zh_col-------  total enthalpy of vertical air column
     
    730725! zqbs_col------  total mass of blowing snow (kg/m2)
    731726! zek_col------  total kinetic energy (kg/m2)
    732 !
     727
    733728REAL zairm(nlon, nlev) ! layer air mass (kg/m2)
    734729REAL zqw_col(nlon,2)
     
    754749        first=.false.
    755750     endif
    756 !
     751
    757752!  print *,'add_phys_tend: paprs ',paprs
    758753!======================================================================
     
    832827
    833828  end if ! end if (fl_ebil .GT. 0)
    834 !
    835829
    836830  RETURN
     
    978972  if ( abs(bilq_error) > bilq_seuil) bilq_ok=1
    979973  if ( abs(bilh_error) > bilh_seuil) bilh_ok=1
    980 !
     974
    981975! Print diagnostics
    982976! =================
  • LMDZ6/branches/Amaury_dev/libf/phylmdiso/calwake.F90

    r5087 r5099  
    197197d_deltaxtw(:,:,:) = 0.
    198198#endif
    199 !
    200199
    201200  DO i = 1, klon
     
    214213    hw(i) = wake_h(i)
    215214  END DO
    216 !
     215
    217216!    Make a copy of state variables
    218217  DO l = 1, klev
     
    303302#endif
    304303
    305 !
    306304  DO l = 1, klev
    307305    DO i = 1, klon
     
    393391    END IF
    394392  END DO
    395 !
    396393
    397394!jyg< 
     
    425422    END DO
    426423  ENDIF  ! (iflag_wake_tend .EQ. 0)
    427 !
     424
    428425  IF (first) THEN
    429426    DO i = 1,klon
  • LMDZ6/branches/Amaury_dev/libf/phylmdiso/change_srf_frac_mod.F90

    r5082 r5099  
    1 !
     1
    22! $Id$
    3 !
     3
    44MODULE change_srf_frac_mod
    55
     
    77
    88CONTAINS
    9 !
     9
    1010! Change Surface Fractions
    1111! Author J Ghattas 2008
     
    1818#endif
    1919&       )
    20    
    21 
    22 
    23 !
     20
    2421! This subroutine is called from physiq.F at each timestep.
    2522! 1- For each type of ocean (force, slab, couple) receive new fractions only if
     
    2825! 2- Tests and ajustements are done on the fractions
    2926! 3- Initialize variables where a new fraction(new or melted ice) has appered,
    30 !
    3127
    3228    USE dimphy
     
    111107! - Put to zero fractions that are too small
    112108! - Test total fraction sum is one for each grid point
    113 !
     109
    114110!****************************************************************************************
    115111    IF (is_modified) THEN
     
    182178! i.e. where new sea ice has been formed
    183179! or where ice free ocean has appread in a grid cell
    184 !
     180
    185181!****************************************************************************************
    186182
  • LMDZ6/branches/Amaury_dev/libf/phylmdiso/climb_hq_mod.F90

    r5087 r5099  
    11MODULE climb_hq_mod
    2 !
     2
    33! Module to solve the verctical diffusion of "q" and "H";
    44! specific humidity and potential energi.
    5 !
     5
    66  USE dimphy
    77#ifdef ISO
     
    4242
    4343CONTAINS
    44 !
    45 !****************************************************************************************
    46 !
     44
     45!****************************************************************************************
     46
    4747  SUBROUTINE climb_hq_down(knon, coefhq, paprs, pplay, &
    4848       delp, temp, q, dtime, &
     
    6767! for the quantity X=[Q,H] in equation X(k) = C(k) + D(k)*X(k-1), where k is
    6868! the index of the vertical layer.
    69 !
     69
    7070! Input arguments
    7171!****************************************************************************************
     
    147147! 1)
    148148! Allocation at first time step only
    149 !   
     149
    150150!****************************************************************************************
    151151
     
    203203! 2)
    204204! Definition of the coeficient K
    205 !
     205
    206206!****************************************************************************************
    207207    Kcoefhq(:,:) = 0.0
     
    217217! 3)
    218218! Calculation of gama for "Q" and "H"
    219 !
     219
    220220!****************************************************************************************
    221221!   surface pressure is used as reference
     
    278278! 4)
    279279! Calculte the coefficients C and D for specific humidity, q
    280 !
     280
    281281!****************************************************************************************
    282282   
     
    340340! 5)
    341341! Calculte the coefficients C and D for potentiel entalpie, H
    342 !
     342
    343343!****************************************************************************************
    344344    h_old(:,:) = 0.0
     
    358358! 6)
    359359! Return the first layer in output variables
    360 !
     360
    361361!****************************************************************************************
    362362    Acoef_H_out = Acoef_H
     
    372372! 7)
    373373! If Pbl is split, return also the other layers in output variables
    374 !
     374
    375375!****************************************************************************************
    376376!!! jyg le 07/02/2012
     
    415415
    416416  END SUBROUTINE climb_hq_down
    417 !
    418 !****************************************************************************************
    419 !
     417
     418!****************************************************************************************
     419
    420420  SUBROUTINE calc_coef(knon, Kcoef, gama, delp, X, Ccoef, Dcoef, Acoef, Bcoef)
    421 !
     421
    422422! Calculate the coefficients C and D in : X(k) = C(k) + D(k)*X(k-1)
    423423! where X is H or Q, and k the vertical level k=1,klev
    424 !
     424
    425425    INCLUDE "YOMCST.h"
    426426! Input arguments
     
    443443!****************************************************************************************
    444444! Niveau au sommet, k=klev
    445 !
     445
    446446!****************************************************************************************
    447447    Ccoef(:,:) = 0.0
     
    458458!****************************************************************************************
    459459! Niveau  (klev-1) <= k <= 2
    460 !
     460
    461461!****************************************************************************************
    462462
     
    472472!****************************************************************************************
    473473! Niveau k=1
    474 !
     474
    475475!****************************************************************************************
    476476
     
    482482
    483483  END SUBROUTINE calc_coef
    484 !
    485 !****************************************************************************************
    486 !
     484
     485!****************************************************************************************
     486
    487487  SUBROUTINE climb_hq_up(knon, dtime, t_old, q_old, &
    488488       flx_q1, flx_h1, paprs, pplay, &
     
    505505USE isotopes_verif_mod
    506506#endif
    507 !
     507
    508508! This routine calculates the flux and tendency of the specific humidity q and
    509509! the potential engergi H.
     
    511511! X(k) = C(k) + D(k)*X(k-1) for X=[q,H], where the coefficients
    512512! C and D are known from before and k is index of the vertical layer.
    513 !   
    514513
    515514! Input arguments
     
    564563! Definition of some variables
    565564    REAL, DIMENSION(klon,klev)               :: d_h, zairm
    566 !
     565
    567566!****************************************************************************************
    568567
     
    645644! 2)
    646645! Calculation of Q and H
    647 !
     646
    648647!****************************************************************************************
    649648
     
    715714! 3)
    716715! Calculation of the flux for Q and H
    717 !
     716
    718717!****************************************************************************************
    719718
     
    748747! 4)
    749748! Calculation of tendency for Q and H
    750 !
     749
    751750!****************************************************************************************
    752751    d_h_col_vdf(:) = 0.0
     
    798797!****************************************************************************************
    799798! Some deallocations
    800 !
     799
    801800!****************************************************************************************
    802801    IF (last) THEN
     
    822821    END IF
    823822  END SUBROUTINE climb_hq_up
    824 !
    825 !****************************************************************************************
    826 !
     823
     824!****************************************************************************************
     825
    827826END MODULE climb_hq_mod
    828827
  • LMDZ6/branches/Amaury_dev/libf/phylmdiso/concvl.F90

    r5087 r5099  
    215215#endif
    216216
    217 
    218 !
    219217!  Local
    220218!  ----
     
    234232  REAL, DIMENSION(klon)                         :: supmax0, asupmaxmin
    235233  REAL                                          :: zx_t, zdelta, zx_qs, zcor
    236 !
     234
    237235!   INTEGER iflag_mix
    238236!   SAVE iflag_mix
     
    312310    ALLOCATE (t1(klon,klev))
    313311    ALLOCATE (q1(klon,klev))
    314 !
     312
    315313    convoccur(:) = 0.
    316 !
     314
    317315    itap = 0
    318316    igout = klon/2 + 1/klon
  • LMDZ6/branches/Amaury_dev/libf/phylmdiso/cv30_routines.F90

    r5087 r5099  
    50095009        ! ajout du terme des ddfts sensi stricto
    50105010!        write(*,*) 'tmp cv3_yield 4165: i,il=',i,il
    5011 !
     5011
    50125012        if (option_traceurs.eq.6) then
    50135013          do iiso = 1, niso
  • LMDZ6/branches/Amaury_dev/libf/phylmdiso/cv3_routines.F90

    r5087 r5099  
    5757!jyg<
    5858!  noff is chosen such that nl = k_upper so that upmost loops end at about 22 km
    59 !
     59
    6060  noff = min(max(nd-k_upper, 1), (nd+1)/2)
    6161!!  noff = 1
     
    16161616             qnk(i)*(lv0-clmcpv*(tnk(i)-273.15)) + gznk(i)
    16171617  END DO
    1618 !
     1618
    16191619!  Ice fraction
    1620 !
     1620
    16211621  IF (cvflag_ice) THEN
    16221622    DO k = minorig, nl
     
    16861686  END DO
    16871687!>jyg
    1688 !
    16891688
    16901689! ***  Find lifted parcel quantities above cloud base    ***
    16911690
    16921691!----------------------------------------------------------------------------
    1693 !
     1692
    16941693  IF (icvflag_Tpa == 2) THEN
    16951694#ifdef ISO
    16961695        CALL abort_gcm('cv3_routines 1813','isos pas prevus ici',1)
    16971696#endif
    1698 !
     1697
    16991698!----------------------------------------------------------------------------
    1700 !
     1699
    17011700    DO k = minorig + 1, nl
    17021701      DO i = 1,ncum
     
    17741773                  Ux*  (ah0(i) - ahg - ddelta)           /aa
    17751774            ENDIF ! (tg .gt. Tx)
    1776 !
     1775
    17771776!!     print *,' j, k, Um, U, Ux, aa, bb, discr, dd, ddelta ', j, k, Um, U, Ux, aa, bb, discr, dd, ddelta
    17781777!!     print *,' j, k, ah0(i), ahg, tg, qg, tp(i,k), ff ', j, k, ah0(i), ahg, tg, qg, tp(i,k), ff
     
    18021801    END DO ! k = minorig + 1, nl
    18031802!----------------------------------------------------------------------------
    1804 !
     1803
    18051804  ELSE IF (icvflag_Tpa == 1) THEN  ! (icvflag_Tpa == 2)
    1806 !
     1805
    18071806!----------------------------------------------------------------------------
    1808 !
     1807
    18091808#ifdef ISO
    18101809        CALL abort_gcm('cv3_routines 1813','isos pas prevus ici',1)
     
    18721871        END IF ! (k>=(icbs(i)+1))
    18731872      END DO ! i = 1, ncum
    1874 !
     1873
    18751874      IF (cvflag_prec_eject) THEN
    18761875#ifdef ISO
     
    18981897!   ejection.
    18991898!  =====================================================================================
    1900 
     1899
    19011900!   Verif
    19021901            qpreca(i,k) = ejectliq*qpl(i,k) + ejectice*qps(i,k)                                   !!jygprl
     
    19041903            frac_s(i,k) = (1.-ejectliq)*frac(i,k) + &                                             !!jygprl
    19051904               ejectliq*(1. - (qpl(i,k)+(1.-frac(i,k))*qcld(i,k))/max(clw(i,k),smallestreal))     !!jygprl
    1906 !         
     1905
    19071906            denomm1 = 1./(1. - qpreca(i,k))
    1908 !         
     1907
    19091908            qta(i,k) = qta(i,k-1) - &
    19101909                      qpreca(i,k)*(1.-qta(i,k-1))*denomm1
     
    19251924        END DO ! i = 1, ncum
    19261925      ENDIF  ! (cvflag_prec_eject)
    1927 !
     1926
    19281927    END DO ! k = minorig + 1, nl
    1929 !
     1928
    19301929!----------------------------------------------------------------------------
    1931 !
     1930
    19321931  ELSE IF (icvflag_Tpa == 0) THEN! (icvflag_Tpa == 2) ELSE IF(icvflag_Tpa == 1)
    1933 !
     1932
    19341933!----------------------------------------------------------------------------
    1935 !
     1934
    19361935  DO k = minorig + 1, nl
    19371936    DO i = 1, ncum
     
    21602159
    21612160!----------------------------------------------------------------------------
    2162 !
     2161
    21632162  ENDIF ! (icvflag_Tpa == 2) ELSEIF (icvflag_Tpa == 1) ELSE (icvflag_Tpa == 0)
    21642163#ifdef ISOVERIF
     
    21702169  enddo
    21712170#endif
    2172 !
     2171
    21732172!----------------------------------------------------------------------------
    2174 !
     2173
    21752174! =====================================================================
    21762175! --- SET THE PRECIPITATION EFFICIENCIES
    21772176! --- THESE MAY BE FUNCTIONS OF TP(I), P(I) AND CLW(I)
    21782177! =====================================================================
    2179 !
     2178
    21802179  IF (flag_epkeorig/=1) THEN
    21812180    DO k = 1, nl ! convect3
     
    22132212    END DO
    22142213  END IF
    2215 !
     2214
    22162215!   =========================================================================
    22172216  IF (prt_level >= 10) THEN
     
    22192218                          (k, tp(1,k), tvp(1,k), k = 1,nl)
    22202219  ENDIF
    2221 !
     2220
    22222221! =====================================================================
    22232222! --- CALCULATE VIRTUAL TEMPERATURE AND LIFTED PARCEL
     
    24512450
    24522451!jyg : cvflag_ice test outside the loops (07042015)
    2453 !
     2452
    24542453  IF (cvflag_ice) THEN
    2455 !
     2454
    24562455  IF (cvflag_prec_eject) THEN
    24572456!!    DO k = minorig + 1, nl
     
    24852484      END DO
    24862485    END DO
    2487 !
     2486
    24882487  ELSE   ! (cvflag_ice)
    2489 !
     2488
    24902489    DO k = minorig + 1, nl
    24912490      DO i = 1, ncum
     
    25012500      END DO
    25022501    END DO
    2503 !
     2502
    25042503  END IF  ! (cvflag_ice)
    25052504
     
    25142513! ===================================================================
    25152514! ---  CLOSURE OF CONVECT3
    2516 !
     2515
    25172516! vectorization: S. Bony
    25182517! ===================================================================
     
    38203819  END DO
    38213820
    3822 !
    38233821! Get adiabatic ascent mass flux
    3824 !
     3822
    38253823!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    38263824  IF (adiab_ascent_mass_flux_depends_on_ejectliq) THEN
     
    38573855
    38583856! ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    3859 !
     3857
    38603858! ***                    begin downdraft loop                    ***
    3861 !
     3859
    38623860! ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    38633861
     
    38783876! ***  integrate liquid water equation to find condensed water   ***
    38793877! ***                and condensed water flux                    ***
    3880 !
    3881 !
     3878
     3879
    38823880! ***              calculate detrained precipitation             ***
    38833881
     
    40884086        bfac = 1./(sigd(il)*wt(il,i))
    40894087
    4090 !
    40914088    IF (prt_level >= 20) THEN
    40924089      Print*, 'cv3_unsat after provisional rp estimate: rp, afac, bfac ', &
    40934090          i, rp(1, i), afac,bfac
    40944091    ENDIF
    4095 !
     4092
    40964093!JYG1
    40974094! cc        sigt=1.0
     
    41714168          evap(il, i) = (wdtrain(il)+sigd(il)*wt(il,i)*(prec(il,i+1)-prec(il,i))) / &
    41724169                        (sigd(il)*(ph(il,i)-ph(il,i+1))*100.)
    4173 !
     4170
    41744171    IF (prt_level >= 20) THEN
    41754172      Print*, 'cv3_unsat after evap computation: wdtrain, sigd, wt, prec(i+1),prec(i) ', &
    41764173          i, wdtrain(1), sigd(1), wt(1,i), prec(1,i+1),prec(1,i)
    41774174    ENDIF
    4178 !
    41794175
    41804176!jyg<
     
    44034399    END DO
    44044400! ----------------------------------------------------------------
    4405 !
     4401
    44064402    IF (prt_level >= 20) THEN
    44074403      Print*, 'cv3_unsat after mp computation: mp, b(i), b(i-1) ', &
    44084404          i, mp(1, i), b(1,i), b(1,max(i-1,1))
    44094405    ENDIF
    4410 !
    44114406
    44124407! ***       find mixing ratio of precipitating downdraft     ***
     
    47664761      REAL, DIMENSION (ntraciso,nloc, na), INTENT (IN)            :: xtice
    47674762#endif
    4768 !
     4763
    47694764!input/output:
    47704765      REAL, DIMENSION (nloc, na), INTENT (INOUT)         :: m, mp
     
    47734768      REAL, DIMENSION (nloc, nd), INTENT (INOUT)         :: sig
    47744769      REAL, DIMENSION (nloc), INTENT (INOUT)             :: sigd
    4775 !
     4770
    47764771!outputs:
    47774772      REAL, DIMENSION (nloc), INTENT (OUT)               :: precip
     
    47944789      real, DIMENSION (ntraciso,nloc, nd+1), INTENT (OUT) :: xtVprecip, xtVprecipi
    47954790#endif
    4796 !
     4791
    47974792!local variables:
    47984793      INTEGER                                            :: i, k, il, n, j, num1
     
    48634858#endif
    48644859#endif
    4865 !
     4860
    48664861! -------------------------------------------------------------
    48674862
     
    51345129  ENDIF ! (adiab_ascent_mass_flux_depends_on_ejectliq) ELSE
    51355130!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    5136 !
     5131
    51375132!    print*,'cv3_yield avant ft'
    51385133! am is the part of cbmf taken from the first level
     
    54085403           IF (ok_optim_yield) THEN                       !|
    54095404!-----------------------------------------------------------
    5410 !
     5405
    54115406!***                                                      ***
    54125407!***    Compute convective mass fluxes upwd and dnwd      ***
    54135408
    5414 !
    54155409! =================================================
    54165410!              upward fluxes                      |
    54175411! ------------------------------------------------
    5418 !
     5412
    54195413upwd(:,:) = 0.
    54205414up_to(:,:) = 0.
    54215415up_from(:,:) = 0.
    5422 !
     5416
    54235417!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    54245418  IF (adiab_ascent_mass_flux_depends_on_ejectliq) THEN
     
    54285422!! WARNING : in the present version, taking into account the mass-flux decrease due to
    54295423!! precipitation ejection leads to water conservation violation.
    5430 !
     5424
    54315425! - Upward mass flux of mixed draughts
    54325426!---------------------------------------
     
    54405434  ENDDO
    54415435ENDDO
    5442 !
     5436
    54435437DO j = 3, nl
    54445438  DO i = 2, j-1
     
    54505444  ENDDO
    54515445ENDDO
    5452 !
     5446
    54535447! The difference between upwd(il,i) and upwd(il,i-1) is due to updrafts ending in layer
    54545448!(i-1) (theses drafts cross interface (i-1) but not interface(i)) and to updrafts starting
    54555449!from layer (i-1) (theses drafts cross interface (i) but not interface(i-1)):
    5456 !
     5450
    54575451DO i = 2, nlp
    54585452  DO il = 1, ncum
     
    54625456  ENDDO
    54635457ENDDO
    5464 !
     5458
    54655459! - Total upward mass flux
    54665460!---------------------------
     
    54775471!! The decrease of the adiabatic ascent mass flux due to ejection of precipitation
    54785472!! is not taken into account.
    5479 !
     5473
    54805474! - Upward mass flux
    54815475!-------------------
     
    54945488  ENDDO
    54955489ENDDO
    5496 !
     5490
    54975491DO i = 1, nl
    54985492  DO il = 1, ncum
     
    55025496  ENDDO
    55035497ENDDO
    5504 !
     5498
    55055499DO j = 3, nl
    55065500  DO i = 2, j-1
     
    55125506  ENDDO
    55135507ENDDO
    5514 !
     5508
    55155509! The difference between upwd(il,i) and upwd(il,i-1) is due to updrafts ending in layer
    55165510!(i-1) (theses drafts cross interface (i-1) but not interface(i)) and to updrafts starting
    55175511!from layer (i-1) (theses drafts cross interface (i) but not interface(i-1)):
    5518 !
     5512
    55195513DO i = 2, nlp
    55205514  DO il = 1, ncum
     
    55295523!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    55305524
    5531 !
    55325525! =================================================
    55335526!              downward fluxes                    |
     
    55465539  ENDDO
    55475540ENDDO
    5548 !
     5541
    55495542DO j = 1, nl
    55505543  DO i = j+1, nl
     
    55575550  ENDDO
    55585551ENDDO
    5559 !
     5552
    55605553! The difference between dnwd(il,i) and dnwd(il,i+1) is due to downdrafts ending in layer
    55615554!(i) (theses drafts cross interface (i+1) but not interface(i)) and to downdrafts
    55625555!starting from layer (i) (theses drafts cross interface (i) but not interface(i+1)):
    5563 !
     5556
    55645557DO i = nl-1, 1, -1
    55655558  DO il = 1, ncum
     
    55695562ENDDO
    55705563! =================================================
    5571 !
     5564
    55725565!-----------------------------------------------------------
    55735566        ENDIF !(ok_optim_yield)                           !|
     
    55935586    IF (num1<=0) GO TO 500
    55945587
    5595 !
    55965588!jyg<
    55975589!-----------------------------------------------------------
     
    56515643      END DO
    56525644    END DO
    5653 !
     5645
    56545646!-----------------------------------------------------------
    56555647        ENDIF !(ok_optim_yield)                           !|
    56565648!-----------------------------------------------------------
    5657 !
     5649
    56585650!!   print *,'yield, i, amp1, ad', i, amp1(1), ad(1)
    56595651
     
    57125704                                    t(il,i)*(cpv-cpd)*(rr(il,i)-qent(il,i,i)))*cpinv
    57135705        END IF
    5714 !
     5706
    57155707! sb: on ne fait pas encore la correction permettant de mieux
    57165708! conserver l'eau:
     
    58485840        ! ajout du terme des ddfts sensi stricto
    58495841!        write(*,*) 'tmp cv3_yield 4165: i,il=',i,il
    5850 !
     5842
    58515843        if (option_traceurs.eq.6) then
    58525844          do iiso = 1, niso
     
    61536145            ft(il, i) = ft(il, i) + 0.01*grav*dpinv*ment(il, k, i) * &
    61546146                 (hent(il,k,i)-h(il,i)+t(il,i)*(cpv-cpd)*(rr(il,i)+awat(il)-qent(il,k,i)))*cpinv
    6155 !
     6147
    61566148#ifdef ISO
    61576149        ! on change le traitement de cette ligne le 8 mai 2009:
     
    61926184       ! end cam verif
    61936185#endif
    6194 !
     6186
    61956187          END IF ! i
    61966188        END DO
     
    68146806    END IF
    68156807  END DO
    6816 !
     6808
    68176809    IF (prt_level >= 5) THEN
    68186810      print *,' CV3_YIELD : alpha_qpos ',alpha_qpos(1)
    68196811    ENDIF
    68206812
    6821 !
    68226813  DO il = 1, ncum
    68236814    IF (iflag(il)<=1) THEN
     
    73037294  REAL, DIMENSION (len, na, na), INTENT (OUT)        :: phi, phi2, epmlmMm
    73047295  REAL, DIMENSION (len, na), INTENT (OUT)            :: da, d1a, dam, eplaMm
    7305 !
     7296
    73067297! variables pour tracer dans precip de l'AA et des mel
    73077298!local variables:
     
    76007591!AC! 2110    continue
    76017592!AC! 2100   continue
    7602 !
     7593
    76037594  RETURN
    76047595END SUBROUTINE cv3_uncompress
  • LMDZ6/branches/Amaury_dev/libf/phylmdiso/cv3a_compress.F90

    r5087 r5099  
    7878  REAL, DIMENSION (ntraciso,len,nd), INTENT (IN)     :: xt1_wake
    7979#endif
    80 !
     80
    8181  ! in/out
    8282  INTEGER, INTENT (INOUT)                            :: ncum
    83 !
     83
    8484  ! outputs:
    8585  ! en fait, on a nloc=len pour l'instant (cf cv_driver)
     
    175175    END DO
    176176  END DO
    177 !
     177
    178178  ! AC!      do 121 j=1,ntra
    179179  ! AC!ccccc      do 111 k=1,nl+1
     
    230230    CALL abort_physic(modname, abort_message, 1)
    231231  END IF
    232 !
     232
    233233!jyg<
    234234  ELSE  !(compress)
    235 !
     235
    236236      ncum = len
    237 !
     237
    238238      wghti(:,1:nl+1) = wghti1(:,1:nl+1)
    239239      t(:,1:nl+1) = t1(:,1:nl+1)
     
    271271      xt_wake(:,:,1:nl+1) = xt1_wake(:,:,1:nl+1)
    272272#endif
    273 !
     273
    274274      s_wake(:) = s1_wake(:)
    275275      iflag(:) = iflag1(:)
     
    293293      xtnk(:,:) = xtnk1(:,:)
    294294#endif
    295 !
     295
    296296  ENDIF !(compress)
    297297!>jyg
  • LMDZ6/branches/Amaury_dev/libf/phylmdiso/cv3a_uncompress.F90

    r5087 r5099  
    390390    ! 2210     enddo
    391391    ! 2220    enddo
    392 !
     392
    393393!jyg<
    394394  ELSE  !(compress)
    395 !
     395
    396396      sig1(:,nd) = sig(:,nd)
    397397      ptop21(:) = ptop2(:)
     
    415415          xtprecip1(:,:)=xtprecip(:,:)
    416416#endif
    417 !
     417
    418418      sig1(:, 1:nl) = sig(:, 1:nl)
    419419      w01(:, 1:nl) = w0(:, 1:nl)
     
    451451      sigt1(:, 1:nl) = sigt(:, 1:nl)
    452452      detrain1(:, 1:nl) = detrain(:, 1:nl)
    453 !
     453
    454454      ma1(:, nlp) = 0.
    455455      vprecip1(:, nlp) = 0.
     
    459459      dnwd01(:, nlp) = 0.
    460460
    461 !
    462461      phi1    (:, 1:nl, 1:nl) = phi    (:, 1:nl, 1:nl)  !AC!
    463462      phi21   (:, 1:nl, 1:nl) = phi2   (:, 1:nl, 1:nl)  !RomP
  • LMDZ6/branches/Amaury_dev/libf/phylmdiso/cv3p_mixing.F90

    r5087 r5099  
    154154            fmax, gammas, qqa1, qqa2, Qcoef1max, Qcoef2max
    155155!>jyg
    156 !
     156
    157157  END IF
    158158
     
    813813!                             (1.+lv(il,j)*lv(il,j)*rs(il,j) / &
    814814!                              ((cpd*(1.-Qent(il,i,j))+Qent(il,i,j)*cpv)*rrv*t(il,j)*t(il,j)))
    815 !
     815
    816816!       Computation of condensate amount Elij, taking into account the ice fraction frac
    817817!       Warning : the same saturation humidity rs is used over both liquid water and ice; this
    818818!                 should be corrected.
    819 !
     819
    820820!  Heat capacity of mixed draught
    821821    cpm = cpd+Qent(il,i,j)*(cpv-cpd)
    822 !
     822
    823823    IF (cvflag_ice .and. frac(il,j) > 0.) THEN
    824824            elij(il, i, j) = Qent(il, i, j) - rs(il, j)
  • LMDZ6/branches/Amaury_dev/libf/phylmdiso/cv_driver.F90

    r5087 r5099  
    12431243  cvflag_grav = .TRUE.
    12441244  cvflag_ice = iflag_ice_thermo >= 1
    1245   !
     1245
    12461246! si icvflag_Tpa=0, alors la fraction de glace dans l'ascendance adiabatique est
    12471247  ! fonction de la temperature de l'environnement et la temperature de l'ascendance est
  • LMDZ6/branches/Amaury_dev/libf/phylmdiso/cva_driver.F90

    r5087 r5099  
    431431!        14     No moist convection; atmosphere is very
    432432!               stable (=> no computation)
    433 !
    434433
    435434! ft:   Array of temperature tendency (K/s) of dimension ND, defined at same
     
    10661065!   If the fraction of convective points is larger than comp_threshold, then compression
    10671066!   is assumed useless.
    1068 !
     1067
    10691068  compress = ncum < len*comp_threshold
    1070 !
     1069
    10711070  IF (.not. compress) THEN
    10721071    DO i = 1,len
     
    10741073    ENDDO
    10751074  ENDIF
    1076 !
     1075
    10771076#ifdef ISO
    10781077#ifdef ISOVERIF
     
    14801479#endif
    14811480                     )
    1482 !
     1481
    14831482      IF (prt_level >= 10) THEN
    14841483        Print *, 'cva_driver after cv3_unsat:mp , water, ice, evap, fondue '
     
    14941493        ENDDO
    14951494      ENDIF
    1496 !
     1495
    14971496    END IF  !(iflag_con==3)
    14981497
     
    15941593#endif
    15951594            )
    1596 !
     1595
    15971596!         Test conseravtion de l'eau
    1598 !
    15991597
    16001598#ifdef ISOVERIF
     
    16281626        PRINT *, ' cv3_yield -> fqd(1) = ', fqd(igout, 1)
    16291627      END IF !(debut) THEN
    1630 !   
     1628
    16311629      IF (prt_level >= 10) THEN
    16321630        Print *, 'cva_driver after cv3_yield:ft(1) , ftd(1) ', &
     
    16351633                    fq(igout,1), fqd(igout,1)
    16361634      ENDIF
    1637 !   
     1635
    16381636    END IF
    16391637
     
    17471745#endif
    17481746
    1749 !   
    17501747      IF (prt_level >= 10) THEN
    17511748        Print *, 'cva_driver after cv3_uncompress:ft1(1) , ftd1(1) ', &
     
    17541751                    fq1(igout,1), fqd1(igout,1)
    17551752      ENDIF
    1756 !   
     1753
    17571754    END IF
    17581755
     
    17721769
    17731770  END IF ! ncum>0
    1774 !
    1775 !
     1771
     1772
    17761773  DO i = 1,len
    17771774    IF (iflag1(i) == 14) THEN
     
    17811778  ENDDO
    17821779
    1783 !
    17841780! In order take into account the possibility of changing the compression,
    17851781! reset m, sig and w0 to zero for non-convective points.
  • LMDZ6/branches/Amaury_dev/libf/phylmdiso/isotopes_routines_mod.F90

    r5098 r5099  
    21632163#endif
    21642164          ! end verif
    2165           !
     2165
    21662166     else !if (t1lay(i).ge.0.0) then   
    21672167          do ixt=1,niso
     
    1661716617!#ifdef ISOHTO
    1661816618!===================================================================
    16619 !
     16619
    1662016620!   subroutines utilisees par iso_tritium: ecrites par Alexandre Cauquoin
    16621 !
     16621
    1662216622!===================================================================
    1662316623
     
    1793217932
    1793317933!===================================================================
    17934 !
     17934
    1793517935!   End subroutine iso_tritium
    17936 !
     17936
    1793717937!===================================================================
    1793817938
     
    1794017940
    1794117941!===================================================================
    17942 !
     17942
    1794317943! Subroutine chargement des tableaux de donnees pour production
    1794417944! nucleaire de tritium --> call dans iso_init.F
    17945 !
     17945
    1794617946!===================================================================
    1794717947
     
    1804718047
    1804818048!===================================================================
    18049 !
     18049
    1805018050! Subroutines production nucleaire utilisees par iso_tritium
    18051 !
     18051
    1805218052!===================================================================
    1805318053
     
    1850118501!#endif
    1850218502!===================================================================
    18503 !
     18503
    1850418504!   End subroutines utilisees par iso_tritium
    18505 !
     18505
    1850618506!===================================================================
    1850718507
  • LMDZ6/branches/Amaury_dev/libf/phylmdiso/isotrac_mod.F90

    r4493 r5099  
    1111
    1212!=== CONTENT: ALL THE ISOTOPIC TRACERS RELATED VARIABLES ===
    13 !
     13
    1414! option 1: on trace evap ocean et continent separement 
    1515! option 2: on trace evap ocean, continent et evap precip
  • LMDZ6/branches/Amaury_dev/libf/phylmdiso/limit_read_mod.F90

    r5088 r5099  
    1 !
     1
    22! $Id: limit_read_mod.F90 3435 2019-01-22 15:21:59Z fairhead $
    3 !
     3
    44MODULE limit_read_mod
    5 !
     5
    66! This module reads the fichier "limit.nc" containing fields for surface forcing.
    7 !
     7
    88! Module subroutines :
    99!  limit_read_frac    : call limit_read_tot and return the fractions
     
    1111!  limit_read_sst     : return sea ice temperature   
    1212!  limit_read_tot     : read limit.nc and store the fields in local modules variables
    13 !
     13
    1414  IMPLICIT NONE
    1515
     
    5454 
    5555  SUBROUTINE limit_read_frac(itime, dtime, jour, pctsrf_new, is_modified)
    56 !
     56
    5757! This subroutine is called from "change_srf_frac" for case of
    5858! ocean=force or from ocean_slab_frac for ocean=slab.
     
    8989       knon, knindex, &
    9090       rugos_out, alb_out)
    91 !
     91
    9292! This subroutine is called from surf_land_bucket.
    9393! The flag "ok_veget" must can not be true. If coupled run, "ocean=couple"
    9494! then this routine will call limit_read_tot.
    95 !
     95
    9696    USE dimphy
    9797    USE surface_data
     
    139139#endif           
    140140    )
    141 !
     141
    142142! This subroutine returns the sea surface temperature already read from limit.nc.
    143 !
     143
    144144    USE dimphy, ONLY : klon
    145145#ifdef ISO
     
    260260
    261261  SUBROUTINE limit_read_tot(itime, dtime, jour, is_modified)
    262 !
     262
    263263! Read everything needed from limit.nc
    264 !
     264
    265265! 0) Initialize
    266266! 1) Open the file limit.nc, if it is time
     
    332332!****************************************************************************************
    333333! 0) Initialization
    334 !
     334
    335335!****************************************************************************************
    336336    IF (first_call) THEN
     
    353353       IF (is_mpi_root) THEN ! Only master processus
    354354          ierr = NF90_OPEN ('limit.nc', NF90_NOWRITE, nid)
    355           IF (ierr /= NF90_NOERR) CALL abort_physic(modname,&
     355          IF (ierr /= nf90_noerr) CALL abort_physic(modname,&
    356356               'Pb d''ouverture du fichier de conditions aux limites',1)
    357357
     
    359359          ierr=NF90_INQ_VARID(nid, 'TEMPS', nvarid)
    360360          ierr=NF90_GET_ATT(nid, nvarid, 'calendar', calendar)
    361           IF(ierr==NF90_NOERR.AND.calendar/=calend.AND.prt_level>=1) THEN
     361          IF(ierr==nf90_noerr.AND.calendar/=calend.AND.prt_level>=1) THEN
    362362             WRITE(lunout,*)'BEWARE: gcm and limit.nc calendars differ: '
    363363             WRITE(lunout,*)'  '//TRIM(calend)//' for gcm'
     
    371371            ierr=NF90_INQUIRE(nid, UnlimitedDimID=ndimid)
    372372          ENDIF
    373           ierr=NF90_INQUIRE_DIMENSION(nid, ndimid, len=nn)
     373          ierr=nf90_inquire_dimension(nid, ndimid, len=nn)
    374374          WRITE(abort_message,'(a,2(i0,a))')'limit.nc records number (',nn,') does no'//&
    375375            't match year length (',year_len,')'
     
    382382            ierr=nf90_inq_dimid(nid, 'points_physiques', ndimid)
    383383          ENDIF
    384           ierr=NF90_INQUIRE_DIMENSION(nid, ndimid, len=nn)
     384          ierr=nf90_inquire_dimension(nid, ndimid, len=nn)
    385385          WRITE(abort_message,'(a,2(i0,a))')'limit.nc horizontal number of cells (',nn, &
    386386            ') does not match LMDZ klon_glo (',klon_glo,')'
     
    388388
    389389          ierr = NF90_CLOSE(nid)
    390           IF (ierr /= NF90_NOERR) CALL abort_physic(modname,'Pb when closing file', 1)
     390          IF (ierr /= nf90_noerr) CALL abort_physic(modname,'Pb when closing file', 1)
    391391       END IF ! is_mpi_root
    392392!$OMP END MASTER
     
    398398!    The file is read only by the master thread of the master mpi process(is_mpi_root)
    399399!    Check by the way if the number of records is correct.
    400 !
     400
    401401!****************************************************************************************
    402402
     
    451451
    452452          ierr = NF90_OPEN ('limit.nc', NF90_NOWRITE, nid)
    453           IF (ierr /= NF90_NOERR) CALL abort_physic(modname,&
     453          IF (ierr /= nf90_noerr) CALL abort_physic(modname,&
    454454               'Pb d''ouverture du fichier de conditions aux limites',1)
    455455
     
    463463!****************************************************************************************
    464464! 2) Read fraction if not type_ocean=couple
    465 !
     465
    466466!****************************************************************************************
    467467
    468468          IF ( type_ocean /= 'couple') THEN
    469 !
     469
    470470! Ocean fraction
    471471             ierr = NF90_INQ_VARID(nid, 'FOCE', nvarid)
    472              IF (ierr /= NF90_NOERR) CALL abort_physic(modname, 'Le champ <FOCE> est absent',1)
     472             IF (ierr /= nf90_noerr) CALL abort_physic(modname, 'Le champ <FOCE> est absent',1)
    473473             
    474              ierr = NF90_GET_VAR(nid,nvarid,pct_glo(:,is_oce),start,epais)
    475              IF (ierr /= NF90_NOERR) CALL abort_physic(modname,'Lecture echouee pour <FOCE>' ,1)
    476 !
     474             ierr = nf90_get_var(nid,nvarid,pct_glo(:,is_oce),start,epais)
     475             IF (ierr /= nf90_noerr) CALL abort_physic(modname,'Lecture echouee pour <FOCE>' ,1)
     476
    477477! Sea-ice fraction
    478478             ierr = NF90_INQ_VARID(nid, 'FSIC', nvarid)
    479              IF (ierr /= NF90_NOERR) CALL abort_physic(modname,'Le champ <FSIC> est absent',1)
    480 
    481              ierr = NF90_GET_VAR(nid,nvarid,pct_glo(:,is_sic),start,epais)
    482              IF (ierr /= NF90_NOERR) CALL abort_physic(modname,'Lecture echouee pour <FSIC>' ,1)
     479             IF (ierr /= nf90_noerr) CALL abort_physic(modname,'Le champ <FSIC> est absent',1)
     480
     481             ierr = nf90_get_var(nid,nvarid,pct_glo(:,is_sic),start,epais)
     482             IF (ierr /= nf90_noerr) CALL abort_physic(modname,'Lecture echouee pour <FSIC>' ,1)
    483483
    484484
    485485! Read land and continentals fraction only if asked for
    486486             IF (read_continents .OR. itime == 1) THEN
    487 !
     487
    488488! Land fraction
    489489                ierr = NF90_INQ_VARID(nid, 'FTER', nvarid)
    490                 IF (ierr /= NF90_NOERR) CALL abort_physic(modname,'Le champ <FTER> est absent',1)
     490                IF (ierr /= nf90_noerr) CALL abort_physic(modname,'Le champ <FTER> est absent',1)
    491491               
    492                 ierr = NF90_GET_VAR(nid,nvarid,pct_glo(:,is_ter),start,epais)
    493                 IF (ierr /= NF90_NOERR) CALL abort_physic(modname,'Lecture echouee pour <FTER>',1)
    494 !
     492                ierr = nf90_get_var(nid,nvarid,pct_glo(:,is_ter),start,epais)
     493                IF (ierr /= nf90_noerr) CALL abort_physic(modname,'Lecture echouee pour <FTER>',1)
     494
    495495! Continentale ice fraction
    496496                ierr = NF90_INQ_VARID(nid, 'FLIC', nvarid)
    497                 IF (ierr /= NF90_NOERR) CALL abort_physic(modname,'Le champ <FLIC> est absent',1)
    498 
    499                 ierr = NF90_GET_VAR(nid,nvarid,pct_glo(:,is_lic),start,epais)
    500                 IF (ierr /= NF90_NOERR) CALL abort_physic(modname,'Lecture echouee pour <FLIC>',1)
     497                IF (ierr /= nf90_noerr) CALL abort_physic(modname,'Le champ <FLIC> est absent',1)
     498
     499                ierr = nf90_get_var(nid,nvarid,pct_glo(:,is_lic),start,epais)
     500                IF (ierr /= nf90_noerr) CALL abort_physic(modname,'Lecture echouee pour <FLIC>',1)
    501501             END IF
    502502
     
    505505!****************************************************************************************
    506506! 3) Read sea-surface temperature, if not coupled ocean
    507 !
     507
    508508!****************************************************************************************
    509509          IF ( type_ocean /= 'couple') THEN
    510510
    511511             ierr = NF90_INQ_VARID(nid, 'SST', nvarid)
    512              IF (ierr /= NF90_NOERR) CALL abort_physic(modname,'Le champ <SST> est absent',1)
    513 
    514              ierr = NF90_GET_VAR(nid,nvarid,sst_glo,start,epais)
    515              IF (ierr /= NF90_NOERR) CALL abort_physic(modname,'Lecture echouee pour <SST>',1)
     512             IF (ierr /= nf90_noerr) CALL abort_physic(modname,'Le champ <SST> est absent',1)
     513
     514             ierr = nf90_get_var(nid,nvarid,sst_glo,start,epais)
     515             IF (ierr /= nf90_noerr) CALL abort_physic(modname,'Lecture echouee pour <SST>',1)
    516516         
    517517#ifdef ISO
    518518             IF ((iso_HTO.gt.0).and.(ok_prod_nucl_tritium)) THEN
    519519               ierr = NF90_INQ_VARID(nid, 'TUOCE', nvarid)
    520                IF (ierr /= NF90_NOERR) CALL abort_gcm(modname,'Le champ <TUOCE> est absent',1)
    521 
    522                ierr = NF90_GET_VAR(nid,nvarid,tuoce_glo,start,epais)
    523                IF (ierr /= NF90_NOERR) CALL abort_gcm(modname,'Lecture echouee pour <TUOCE>',1)
     520               IF (ierr /= nf90_noerr) CALL abort_gcm(modname,'Le champ <TUOCE> est absent',1)
     521
     522               ierr = nf90_get_var(nid,nvarid,tuoce_glo,start,epais)
     523               IF (ierr /= nf90_noerr) CALL abort_gcm(modname,'Lecture echouee pour <TUOCE>',1)
    524524             END IF
    525525#ifdef ISOVERIF
     
    539539!****************************************************************************************
    540540! 4) Read albedo and rugosity for land surface, only in case of no vegetation model
    541 !
     541
    542542!****************************************************************************************
    543543
    544544          IF (.NOT. ok_veget) THEN
    545 !
     545
    546546! Read albedo
    547547             ierr = NF90_INQ_VARID(nid, 'ALB', nvarid)
    548              IF (ierr /= NF90_NOERR) CALL abort_physic(modname,'Le champ <ALB> est absent',1)
    549 
    550              ierr = NF90_GET_VAR(nid,nvarid,alb_glo,start,epais)
    551              IF (ierr /= NF90_NOERR) CALL abort_physic(modname,'Lecture echouee pour <ALB>',1)
    552 !
     548             IF (ierr /= nf90_noerr) CALL abort_physic(modname,'Le champ <ALB> est absent',1)
     549
     550             ierr = nf90_get_var(nid,nvarid,alb_glo,start,epais)
     551             IF (ierr /= nf90_noerr) CALL abort_physic(modname,'Lecture echouee pour <ALB>',1)
     552
    553553! Read rugosity
    554554             ierr = NF90_INQ_VARID(nid, 'RUG', nvarid)
    555              IF (ierr /= NF90_NOERR) CALL abort_physic(modname,'Le champ <RUG> est absent',1)
    556 
    557              ierr = NF90_GET_VAR(nid,nvarid,rug_glo,start,epais)
    558              IF (ierr /= NF90_NOERR) CALL abort_physic(modname,'Lecture echouee pour <RUG>',1)
     555             IF (ierr /= nf90_noerr) CALL abort_physic(modname,'Le champ <RUG> est absent',1)
     556
     557             ierr = nf90_get_var(nid,nvarid,rug_glo,start,epais)
     558             IF (ierr /= nf90_noerr) CALL abort_physic(modname,'Lecture echouee pour <RUG>',1)
    559559
    560560          END IF
     
    562562!****************************************************************************************
    563563! 5) Close file and distribuate variables to all processus
    564 !
     564
    565565!****************************************************************************************
    566566          ierr = NF90_CLOSE(nid)
    567           IF (ierr /= NF90_NOERR) CALL abort_physic(modname,'Pb when closing file', 1)
     567          IF (ierr /= nf90_noerr) CALL abort_physic(modname,'Pb when closing file', 1)
    568568       ENDIF ! is_mpi_root
    569569
  • LMDZ6/branches/Amaury_dev/libf/phylmdiso/lmdz_lscp_old.F90

    r5087 r5099  
    1 !
     1
    22! $Id: fisrtilp.F90 3493 2019-05-07 08:45:07Z idelkadi $
    3 !
    4 !
     3
     4
    55MODULE lmdz_lscp_old
    66CONTAINS
     
    1818        )
    1919
    20   !
    2120  USE dimphy
    2221  USE icefrac_lsc_mod ! compute ice fraction (JBM 3/14)
     
    9594  !======================================================================
    9695  include "YOMCST.h"
    97   !
     96
    9897  ! Principaux inputs:
    99   !
     98
    10099  REAL, INTENT(IN)                              :: dtime  ! intervalle du temps (s)
    101100  REAL, DIMENSION(klon,klev+1),    INTENT(IN)   :: paprs  ! pression a inter-couche
     
    106105  INTEGER,                         INTENT(IN)   :: iflag_cld_th
    107106  INTEGER,                         INTENT(IN)   :: iflag_ice_thermo
    108   !
     107
    109108  ! Inputs lies aux thermiques
    110   !
     109
    111110  REAL, DIMENSION(klon,klev),      INTENT(IN)   :: ztv
    112111  REAL, DIMENSION(klon,klev),      INTENT(IN)   :: zqta, fraca
    113112  REAL, DIMENSION(klon,klev),      INTENT(IN)   :: zpspsk, ztla
    114113  REAL, DIMENSION(klon,klev),      INTENT(INOUT)   :: zthl
    115   !
     114
    116115  !  Input/output
    117116  REAL, DIMENSION(klon,klev),      INTENT(INOUT):: ratqs  ! determine la largeur de distribution de vapeur
    118   !
     117
    119118  ! Principaux outputs:
    120   !
     119
    121120  REAL, DIMENSION(klon,klev),      INTENT(OUT)  :: d_t  ! incrementation de la temperature (K)
    122121  REAL, DIMENSION(klon,klev),      INTENT(OUT)  :: d_q  ! incrementation de la vapeur d'eau
     
    152151  !AA
    153152  ! Coeffients de fraction lessivee : pour OFF-LINE
    154   !
     153
    155154  REAL, DIMENSION(klon,klev),      INTENT(INOUT)  :: pfrac_nucl
    156155  REAL, DIMENSION(klon,klev),      INTENT(INOUT)  :: pfrac_1nucl
    157156  REAL, DIMENSION(klon,klev),      INTENT(INOUT)  :: pfrac_impa
    158   !
     157
    159158  ! Fraction d'aerosols lessivee par impaction et par nucleation
    160159  ! POur ON-LINE
    161   !
     160
    162161  REAL, DIMENSION(klon,klev),      INTENT(OUT)  :: frac_impa
    163162  REAL, DIMENSION(klon,klev),      INTENT(OUT)  :: frac_nucl
    164163  !AA
    165164  ! --------------------------------------------------------------------------------
    166   !
     165
    167166  ! Options du programme:
    168   !
     167
    169168  REAL, SAVE :: seuil_neb=0.001 ! un nuage existe vraiment au-dela
    170169  !$OMP THREADPRIVATE(seuil_neb)
     
    175174  INTEGER,SAVE :: iflag_evap_prec=1 ! evaporation de la pluie
    176175  !$OMP THREADPRIVATE(iflag_evap_prec)
    177   !
     176
    178177  LOGICAL cpartiel ! condensation partielle
    179178  PARAMETER (cpartiel=.TRUE.)
     
    185184  PARAMETER (ztfondue=278.15)
    186185  ! --------------------------------------------------------------------------------
    187   !
     186
    188187  ! Variables locales:
    189   !
     188
    190189  INTEGER i, k, n, kk
    191190  INTEGER,save::itap=0
     
    274273#endif
    275274
    276   !
    277275  LOGICAL appel1er
    278276  SAVE appel1er
    279277  !$OMP THREADPRIVATE(appel1er)
    280   !
     278
    281279! iflag_oldbug_fisrtilp=0 enleve le BUG par JYG : tglace_min -> tglace_max
    282280! iflag_oldbug_fisrtilp=1 ajoute le BUG
     
    284282  !$OMP THREADPRIVATE(iflag_oldbug_fisrtilp)
    285283  !---------------------------------------------------------------
    286   !
     284
    287285  !AA Variables traceurs:
    288286  !AA  Provisoire !!! Parametres alpha du lessivage
    289287  !AA  A priori on a 4 scavenging # possibles
    290   !
     288
    291289  REAL a_tr_sca(4)
    292290  save a_tr_sca
    293291  !$OMP THREADPRIVATE(a_tr_sca)
    294   !
     292
    295293  ! Variables intermediaires
    296   !
     294
    297295  REAL zalpha_tr
    298296  REAL zfrac_lessi
     
    306304  REAL zlh_solid(klon), zm_solid
    307305  !---------------------------------------------------------------
    308   !
     306
    309307  ! Fonctions en ligne:
    310   !
     308
    311309  REAL fallvs,fallvc ! Vitesse de chute pour cristaux de glace
    312310                     ! (Heymsfield & Donner, 1990)
     
    317315  fallvc (zzz) = 3.29/2.0 * ((zzz)**0.16) * ffallv_con
    318316  fallvs (zzz) = 3.29/2.0 * ((zzz)**0.16) * ffallv_lsc
    319   !
     317
    320318  DATA appel1er /.TRUE./
    321319  !ym
     
    337335     CALL getin_p('seuil_neb',seuil_neb)
    338336     write(lunout,*)' iflag_oldbug_fisrtilp =',iflag_oldbug_fisrtilp
    339      !
     337
    340338     WRITE(lunout,*) 'fisrtilp, ninter:', ninter
    341339     WRITE(lunout,*) 'fisrtilp, iflag_evap_prec:', iflag_evap_prec
     
    378376#endif
    379377
    380      !
    381378     !AA initialiation provisoire
    382379     a_tr_sca(1) = -0.5
     
    384381     a_tr_sca(3) = -0.5
    385382     a_tr_sca(4) = -0.5
    386      !
     383
    387384     !AA Initialisation a 1 des coefs des fractions lessivees
    388      !
     385
    389386     !cdir collapse
    390387     DO k = 1, klev
     
    398395
    399396  ENDIF          !  test sur appel1er
    400   !
     397
    401398  !MAf Initialisation a 0 de zoliq
    402399  !      DO i = 1, klon
     
    405402  ! Determiner les nuages froids par leur temperature
    406403  !  nexpo regle la raideur de la transition eau liquide / eau glace.
    407   !
     404
    408405!CR: on est oblige de definir des valeurs fisrt car les valeurs de newmicro ne sont pas les memes par defaut
    409406  IF (iflag_t_glace==0) THEN
     
    425422!>AJ
    426423  !cc      nexpo = 1
    427   !
     424
    428425  ! Initialiser les sorties:
    429   !
     426
    430427  !cdir collapse
    431428  DO k = 1, klev+1
     
    474471#endif
    475472     !     ENDDO
    476      !
     473
    477474     ! Initialiser le flux de precipitation a zero
    478      !
     475
    479476     !     DO i = 1, klon
    480477     zrfl(i) = 0.0
     
    492489     zneb(i) = seuil_neb
    493490  ENDDO
    494   !
    495   !
     491
     492
    496493  !AA Pour plus de securite
    497494
     
    500497
    501498  !AA==================================================================
    502   !
     499
    503500  ncoreczq=0
    504501  ! BOUCLE VERTICALE (DU HAUT VERS LE BAS)
    505   !
     502
    506503  DO k = klev, 1, -1
    507      !
    508      !
     504
     505
    509506#ifdef ISO     
    510507      ! cam debug!     
     
    543540#endif
    544541     !AA===============================================================
    545      !
     542
    546543     ! Initialisation temperature et vapeur
    547544     DO i = 1, klon
     
    591588
    592589     ENDDO
    593      !
     590
    594591     ! ----------------------------------------------------------------
    595592     ! P0> Thermalisation des precipitations venant de la couche du dessus
     
    604601     !   -  zt: temperature de la cocuhe
    605602     !   - zmqc: masse de precip qui doit etre thermalisee
    606      !
     603
    607604     IF(k<=klevm1) THEN
    608605        DO i = 1, klon
     
    632629        ENDDO
    633630     ENDIF ! end IF(k.LE.klevm1)
    634      !
     631
    635632     ! ----------------------------------------------------------------
    636633     ! P1> Calcul de l'evaporation de la precipitation
     
    643640     !   - zq, zt: humidite et temperature de la cocuhe
    644641     !   - zmqc: masse de precip qui doit etre thermalisee
    645      !
     642
    646643#ifdef ISO
    647644      DO i = 1, klon
     
    776773#endif
    777774
    778 !
    779775       ELSE ! (.NOT. ice_thermo)
    780776
     
    938934     ! ----------------------------------------------------------------
    939935     ENDIF ! (iflag_evap_prec>=1)
    940      !
     936
    941937     ! Calculer Qs et L/Cp*dQs/dT:
    942938#ifdef ISOVERIF
     
    988984!        write(*,*) 'ilp tmp 638: k,zoliq,zxtoliq(1,363)=',k,zoliq(363),zxtoliq(1,363)
    989985#endif
    990      !
     986
    991987     IF (thermcep) THEN
    992988        DO i = 1, klon
     
    10171013        ENDDO
    10181014     ENDIF
    1019      !
     1015
    10201016     ! Determiner la condensation partielle et calculer la quantite
    10211017     ! de l'eau condensee:
    1022      !
     1018
    10231019!verification de la valeur de iflag_fisrtilp_qsat pour iflag_ice_thermo=1
    10241020!       if ((iflag_ice_thermo.eq.1).and.(iflag_fisrtilp_qsat.ne.0)) then
     
    10371033     !   zt : temperature de la maille
    10381034     ! ----------------------------------------------------------------
    1039      !
     1035
    10401036     IF (cpartiel) THEN
    10411037        ! -------------------------
    10421038        ! P2.A> Nuage fractionnaire
    10431039        ! -------------------------
    1044         !
     1040
    10451041        !   Calcul de l'eau condensee et de la fraction nuageuse et de l'eau
    10461042        !   nuageuse a partir des PDF de Sandrine Bony.
     
    10501046        !  on prend en compte le réchauffement qui diminue la partie
    10511047        ! condensee
    1052         !
     1048
    10531049        !   Version avec les raqts
    10541050
     
    12061202                 if ((convergence(i).or.(n_i(i).eq.0)).and.lognormale(i)) then
    12071203                 ! si on n'a pas converge
    1208                  !
     1204
    12091205                 ! P2.A.2.1> Calcul de la fraction nuageuse et de la quantite d'eau condensee
    12101206                 ! ---------------------------------------------------------------
     
    12141210                 ! zcond: eau condensee en moyenne dans la maille
    12151211                 ! rhcl: humidite relative ciel-clair
    1216                  !
     1212
    12171213                 Tbef(i)=Tbef(i)+DT(i) ! nouvelle temperature
    12181214                 if (.not.ice_thermo) then   
     
    13931389        !   rhcl: humidite relative ciel-clair
    13941390        ! ----------------------------------------------------------------
    1395         !
     1391
    13961392        ! Bornage de l'eau in-cloud (zqn) et de la fraction nuageuse (rneb)
    13971393        ! Calcule de l'eau condensee moyenne dans la maille (zcond),
     
    16021598!        write(*,*) 'ilp tmp 1311: zoliq,zxtoliq(1,363)=',zoliq(363),zxtoliq(1,363)
    16031599#endif   
    1604      !
     1600
    16051601     ! Mise a jour vapeur d'eau
    16061602     ! -------------------------
     
    16151611     ! Variable calcule:
    16161612     !   zt : temperature de la maille
    1617      !
     1613
    16181614     IF (.NOT. ice_thermo) THEN
    16191615        if (iflag_fisrtilp_qsat.lt.1) then
     
    19521948     ! P3> Formation des precipitations
    19531949     ! ----------------------------------------------------------------
    1954      !
     1950
    19551951     ! Partager l'eau condensee en precipitation et eau liquide nuageuse
    1956      !
    19571952
    19581953     ! Initialisation de zoliq (eau condensee moyenne dans la maille)
     
    20562051#endif
    20572052
    2058      !
    20592053     DO n = 1, ninter
    20602054        DO i = 1, klon
     
    21212115
    21222116     ! ----------------------------------------------------------------
    2123      !
     2117
    21242118#ifdef ISO
    21252119      do i=1,klon
     
    23122306        CALL abort_physic('ilp 2347', 'isotopes pas encore prevus ici', 1)
    23132307#endif
    2314 !
     2308
    23152309!CR&JYG<
    23162310! On prend en compte l'effet Bergeron dans les flux de precipitation :
     
    23232317! Le condensat precipitant solide est augmente.
    23242318! La vapeur d'eau est augmentee.
    2325 !
     2319
    23262320       IF ((iflag_bergeron .EQ. 2)) THEN
    23272321         DO i = 1, klon
     
    25082502     ! Fin de formation des precipitations
    25092503     ! ----------------------------------------------------------------
    2510      !
     2504
    25112505     ! Calculer les tendances de q et de t:
    2512      !
     2506
    25132507     DO i = 1, klon
    25142508        d_q(i,k) = zq(i) - q(i,k)
     
    25482542        d_t(i,k) = zt(i) - t(i,k)
    25492543     ENDDO
    2550      !
     2544
    25512545     !AA--------------- Calcul du lessivage stratiforme  -------------
    25522546
    25532547     DO i = 1,klon
    2554         !
     2548
    25552549        if(zcond(i).gt.zoliq(i)+1.e-10) then
    25562550         beta(i,k) = (zcond(i)-zoliq(i))/zcond(i)/dtime
     
    25782572           pfrac_nucl(i,k)=pfrac_nucl(i,k)*(1.-zneb(i)*zfrac_lessi)
    25792573           frac_nucl(i,k)= 1.-zneb(i)*zfrac_lessi
    2580            !
     2574
    25812575           ! nucleation avec un facteur -1 au lieu de -0.5
    25822576           zfrac_lessi = 1. - EXP(-zprec_cond(i)/zneb(i))
    25832577           pfrac_1nucl(i,k)=pfrac_1nucl(i,k)*(1.-zneb(i)*zfrac_lessi)
    25842578        ENDIF
    2585         !
     2579
    25862580     ENDDO      ! boucle sur i
    2587      !
     2581
    25882582     !AA Lessivage par impaction dans les couches en-dessous
    25892583     DO kk = k-1, 1, -1
     
    26292623      ! end verif en fin de boucle
    26302624
    2631      !
    26322625     !AA===============================================================
    26332626     !                     FIN DE LA BOUCLE VERTICALE 
    26342627  end DO
    2635   !
     2628
    26362629  !AA==================================================================
    2637   !
     2630
    26382631  ! Pluie ou neige au sol selon la temperature de la 1ere couche
    2639   !
     2632
    26402633!CR: si la thermo de la glace est active, on calcule zifl directement
    26412634  IF (.NOT.ice_thermo) THEN
     
    27032696   
    27042697   ENDIF
    2705   !
     2698
    27062699  ! For energy conservation : when snow is present, the solification
    27072700  ! latent heat is considered.
     
    27172710  END DO
    27182711  ENDIF
    2719   !
    27202712
    27212713  if (ncoreczq>0) then
  • LMDZ6/branches/Amaury_dev/libf/phylmdiso/lmdz_wake.F90

    r5093 r5099  
    159159#endif
    160160
    161   !
    162161  ! Input/Output
    163162  ! State variables
     
    425424  CALL getin_p('wdens_ref_l',wdens_ref(2))    !wake number per unit area ; land
    426425!>jyg
    427 !
     426
    428427!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    429428!!!!!!!!!  Population dynamics parameters    !!!!!!!!!!!!!!!!!!!!!!!!!!!!
     
    441440  CALL getin_p('rzero_wk', rzero)
    442441  aa0 = 3.14*rzero*rzero
    443 !
     442
    444443  tau_cv = 4000.
    445444  CALL getin_p('tau_cv', tau_cv)
     
    574573    END DO
    575574  ENDIF  ! (iflag_wk_pop_dyn >=1)
    576 !
     575
    577576  DO i = 1, klon
    578577    ! c      sigmaw(i) = amax1(sigmaw(i),sigd_con(i))
     
    586585  END DO
    587586
    588 !
    589587  IF (iflag_wk_pop_dyn >= 1) THEN
    590588    awdens_in(:) = awdens(:)
     
    599597  d_sigmaw(:) = 0.
    600598  ktopw(:) = 0
    601 !
     599
    602600!<jyg
    603601dth(:,:) = 0.
     
    617615cstar(:) = 0.
    618616ktopw(:) = 0
    619 !
     617
    620618!  Vertical advection local variables
    621619omgbw(:,:) = 0.
     
    629627#endif
    630628!>jyg
    631 !
     629
    632630  IF (prt_level>=10) THEN
    633631    PRINT *, 'wake-1, sigmaw(igout) ', sigmaw(igout)
     
    16441642          ! print*,'dtKE= ',dtKE(i,k),' dqKE= ',dqKE(i,k)
    16451643
    1646 !
    1647 
    16481644          ! cc nrlmd          Prise en compte du taux de mortalité
    16491645          ! cc               Définitions de entr, detr
     
    18341830      END DO
    18351831    END DO
    1836 !
     1832
    18371833    DO i = 1, klon
    18381834      IF (wk_adv(i)) THEN
     
    18791875          d_wdens2(i) = d_wdens2(i) + wdens_targ - wdens(i)
    18801876          wdens(i) = wdens_targ
    1881 !
     1877
    18821878          wdens_targ = min( max(awdens(i),0.), wdens(i) )
    18831879          d_awdens2(i) = d_awdens2(i) + wdens_targ - awdens(i)
     
    22792275          sum_dtdwn(i) = sum_dtdwn(i) + dtdwn(i, k)*dz(i)
    22802276          sum_dqdwn(i) = sum_dqdwn(i) + dqdwn(i, k)*dz(i)
    2281 !
     2277
    22822278          dthmin(i) = min(dthmin(i), dth(i,k))
    22832279        END IF
  • LMDZ6/branches/Amaury_dev/libf/phylmdiso/phyaqua_mod.F90

    r5093 r5099  
    1 !
     1
    22! $Id: phyaqua_mod.F90 3579 2019-10-09 13:11:07Z fairhead $
    3 !
     3
    44MODULE phyaqua_mod
    55  ! Routines complementaires pour la physique planetaire.
  • LMDZ6/branches/Amaury_dev/libf/phylmdiso/phyetat0_mod.F90

    r5088 r5099  
    466466!  TKE
    467467!==================================
    468 !
     468
    469469  IF (iflag_pbl>1) then
    470470     found=phyetat0_srf(pbl_tke,"TKE","Turb. Kinetic. Energ. ",1.e-8)
  • LMDZ6/branches/Amaury_dev/libf/phylmdiso/phyredem.F90

    r5087 r5099  
    1 !
     1
    22! $Id: phyredem.F90 3506 2019-05-16 14:38:11Z ymeurdesoif $
    3 !
     3
    44SUBROUTINE phyredem (fichnom)
    5 !
     5
    66!-------------------------------------------------------------------------------
    77! Author: Z.X. Li (LMD/CNRS), 1993/08/18
  • LMDZ6/branches/Amaury_dev/libf/phylmdiso/phys_local_var_mod.F90

    r5098 r5099  
    1 !
     1
    22! $Id: phys_local_var_mod.F90 3888 2021-05-05 10:50:37Z jyg $
    3 !
     3
    44MODULE phys_local_var_mod
    55  USE lmdz_cppkeys_wrapper, ONLY : CPPKEY_STRATAER
    66  ! Variables locales pour effectuer les appels en serie
    77  !======================================================================
    8   !
    9   !
     8
     9
    1010  !======================================================================
    1111  ! Declaration des variables
     
    205205  REAL, SAVE, ALLOCATABLE :: ZFSDN0(:, :), ZFSUP0(:, :)      ! diag
    206206  !$OMP THREADPRIVATE(ZFSDN0,ZFSUP0)
    207   !
     207
    208208  REAL, SAVE, ALLOCATABLE :: stratomask(:, :)
    209209  !$OMP THREADPRIVATE(stratomask)
     
    388388  REAL, ALLOCATABLE, SAVE, DIMENSION(:) :: s_lcl, s_pblh, s_pblt, s_therm
    389389  !$OMP THREADPRIVATE(s_lcl, s_pblh, s_pblt, s_therm)
    390   !
     390
    391391  !nrlmd+jyg<
    392392  REAL, ALLOCATABLE, SAVE, DIMENSION(:) :: s_pblh_x, s_pblh_w
     
    395395  !$OMP THREADPRIVATE(s_lcl_x, s_lcl_w)
    396396  !>nrlmd+jyg
    397   !
     397
    398398  REAL, ALLOCATABLE, SAVE, DIMENSION(:) :: slab_wfbils
    399399  !$OMP THREADPRIVATE(slab_wfbils)
     
    425425!$OMP THREADPRIVATE(xtrain_lsc)
    426426#endif
    427   !
     427
    428428  !jyg+nrlmd<
    429429  !!!ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
     
    475475  !$OMP THREADPRIVATE(ratqsc)
    476476  !>jyg+nrlmd
    477   !
     477
    478478  REAL, ALLOCATABLE, SAVE, DIMENSION(:) :: wbeff, convoccur, zmax_th, zq2m, zt2m
    479479  !$OMP THREADPRIVATE(wbeff, convoccur, zmax_th, zq2m, zt2m)
     
    502502  REAL, ALLOCATABLE, SAVE, DIMENSION(:) :: epmax_diag ! epmax_cape
    503503  !$OMP THREADPRIVATE(epmax_diag)
    504   !
     504
    505505  !  Deep convective variables used in phytrac
    506506  REAL, ALLOCATABLE, SAVE, DIMENSION(:, :) :: ep ! epmax_cape
     
    576576#endif
    577577#endif
    578   !
     578
    579579  !      REAL,ALLOCATABLE,SAVE,DIMENSION(:,:) :: coefh, coefm, lambda_th
    580580  REAL, ALLOCATABLE, SAVE, DIMENSION(:, :) :: lambda_th
     
    714714  !$OMP THREADPRIVATE(dqsfreez)
    715715
    716 
    717 
    718 
    719 
    720   !
    721716  ! variables for stratospheric aerosol
    722717  REAL, ALLOCATABLE, SAVE, DIMENSION(:, :) :: d_q_emiss
     
    756751  REAL, ALLOCATABLE, SAVE, DIMENSION(:, :) :: vsed_aer
    757752  !$OMP THREADPRIVATE(vsed_aer)
    758   !
     753
    759754  !---3D budget variables
    760755  REAL, ALLOCATABLE, SAVE, DIMENSION(:, :) :: budg_3D_nucl
     
    770765  REAL, ALLOCATABLE, SAVE, DIMENSION(:, :) :: budg_3D_backgr_so2
    771766  !$OMP THREADPRIVATE(budg_3D_backgr_so2)
    772   !
     767
    773768  !---2D budget variables
    774769  REAL, ALLOCATABLE, SAVE, DIMENSION(:) :: budg_dep_dry_ocs
     
    900895    ZFLDN0 = 0.
    901896    ALLOCATE(ZFLUP0(klon, klev + 1), ZFSDN0(klon, klev + 1), ZFSUP0(klon, klev + 1))
    902     !
     897
    903898    ALLOCATE(topswad_aero(klon), solswad_aero(klon))
    904899    ALLOCATE(topswai_aero(klon), solswai_aero(klon))
     
    10201015    ALLOCATE(s_lcl(klon))
    10211016    ALLOCATE(s_pblh(klon), s_pblt(klon), s_therm(klon))
    1022     !
     1017
    10231018    !nrlmd+jyg<
    10241019    ALLOCATE(s_pblh_x(klon), s_pblh_w(klon))
    10251020    ALLOCATE(s_lcl_x(klon), s_lcl_w(klon))
    10261021    !>nrlmd+jyg
    1027     !
     1022
    10281023    ALLOCATE(slab_wfbils(klon), tpot(klon), tpote(klon), ue(klon))
    10291024    ALLOCATE(uq(klon), ve(klon), vq(klon), zxffonte(klon))
     
    10371032    ALLOCATE(rain_num(klon))
    10381033    ALLOCATE(qlth(klon, klev), qith(klon, klev), qsith(klon, klev), wiceth(klon, klev))
    1039     !
     1034
    10401035#ifdef ISO
    10411036      ALLOCATE(xtevap(ntraciso,klon))
     
    10501045      runoff_diag(:)=0. ; xtrunoff_diag(:,:)=0. ! because variables are only given values on knon grid points
    10511046#endif
    1052     !
     1047
    10531048    ALLOCATE(sens_x(klon), sens_w(klon))
    10541049    ALLOCATE(zxfluxlat_x(klon), zxfluxlat_w(klon))
     
    10731068      ALLOCATE(xt_therm(ntraciso,klon,klev))
    10741069#endif
    1075     !
     1070
    10761071    ALLOCATE(ptconv(klon, klev))
    10771072    ALLOCATE(ratqsc(klon, klev))
    1078     !
     1073
    10791074    ALLOCATE(wbeff(klon), convoccur(klon), zmax_th(klon))
    10801075    ALLOCATE(zq2m(klon), zt2m(klon), weak_inversion(klon))
     
    11111106    ! FC
    11121107    ALLOCATE(zxfluxq(klon, klev), zxfluxt(klon, klev))
    1113     !
    1114     !
     1108
     1109
    11151110    !  Deep convective variables used in phytrac
    11161111    ALLOCATE(pmflxr(klon, klev + 1), pmflxs(klon, klev + 1))
     
    14071402    DEALLOCATE(tal1, pal1, pab1, pab2)
    14081403    DEALLOCATE(ptstar, pt0, slp)
    1409     !
     1404
    14101405    DEALLOCATE(alp_wake)
    14111406    DEALLOCATE(wake_h, wake_k)
     
    14251420      DEALLOCATE(d_deltaxt_vdf)
    14261421#endif
    1427     !
     1422
    14281423    DEALLOCATE(bils)
    14291424    DEALLOCATE(cdragm, cdragh, cldh, cldl)
     
    14331428    DEALLOCATE(prw, prlw, prsw, prbsw, water_budget, zustar, zu10m, zv10m, rh2m, s_lcl)
    14341429    DEALLOCATE(s_pblh, s_pblt, s_therm)
    1435     !
     1430
    14361431    !nrlmd+jyg<
    14371432    DEALLOCATE(s_pblh_x, s_pblh_w)
    14381433    DEALLOCATE(s_lcl_x, s_lcl_w)
    14391434    !>nrlmd+jyg
    1440     !
     1435
    14411436    DEALLOCATE(slab_wfbils, tpot, tpote, ue)
    14421437    DEALLOCATE(uq, ve, vq, zxffonte)
     
    14491444    DEALLOCATE(rain_num)
    14501445    DEALLOCATE(qlth, qith, qsith, wiceth)
    1451     !
     1446
    14521447    DEALLOCATE(sens_x, sens_w)
    14531448    DEALLOCATE(zxfluxlat_x, zxfluxlat_w)
     
    14741469      DEALLOCATE(h1_diag,runoff_diag,xtrunoff_diag)
    14751470#endif
    1476     !
     1471
    14771472    DEALLOCATE(ptconv)
    14781473    DEALLOCATE(ratqsc)
    1479     !
     1474
    14801475    DEALLOCATE(wbeff, convoccur, zmax_th)
    14811476    DEALLOCATE(zq2m, zt2m, weak_inversion)
  • LMDZ6/branches/Amaury_dev/libf/phylmdiso/phys_output_ctrlout_mod.F90

    r5098 r5099  
    1 !
     1
    22! $Id: phys_output_ctrlout_mod.F90 3888 2021-05-05 10:50:37Z jyg $
    3 !
     3
    44MODULE phys_output_ctrlout_mod
    55
     
    99
    1010  IMPLICIT NONE
    11       INTEGER, PRIVATE :: i
    12 
    13 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    14 !! Definition pour chaque variable du niveau d ecriture dans chaque fichier,
    15 !! de son nom, de sa description, de son unité et du type d'écriture.
    16 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!/ histmth, histday, histhf, histins /),'!!!!!!!!!!!!
    17 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    18 !  CHARACTER(len=20), dimension(nfiles) :: TEF = type_ecri_files
    19 
    20 !!! saving lon and lat as variables for CMIP6 DataRequest
     11  INTEGER, PRIVATE :: i
     12
     13  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
     14  !! Definition pour chaque variable du niveau d ecriture dans chaque fichier,
     15  !! de son nom, de sa description, de son unité et du type d'écriture.
     16  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!/ histmth, histday, histhf, histins /),'!!!!!!!!!!!!
     17  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
     18  !  CHARACTER(len=20), dimension(nfiles) :: TEF = type_ecri_files
     19
     20  !!! saving lon and lat as variables for CMIP6 DataRequest
    2121  TYPE(ctrl_out), SAVE :: o_longitude = ctrl_out((/ 1, 1, 1, 1, 1, 1, 11, 11, 11, 11/), &
    22     'io_lon', '', '', (/ ('once', i=1, 10) /))
     22          'io_lon', '', '', (/ ('once', i = 1, 10) /))
    2323  TYPE(ctrl_out), SAVE :: o_latitude = ctrl_out((/ 1, 1, 1, 1, 1, 1, 11, 11, 11, 11/), &
    24     'io_lat', '', '', (/ ('once', i=1, 10) /))
    25 
    26 !!! Composantes de la coordonnee sigma-hybride
    27 !!! Ap et Bp et interfaces
     24          'io_lat', '', '', (/ ('once', i = 1, 10) /))
     25
     26  !!! Composantes de la coordonnee sigma-hybride
     27  !!! Ap et Bp et interfaces
    2828  TYPE(ctrl_out), SAVE :: o_Ahyb = ctrl_out((/ 1, 1, 1, 1, 1, 1, 11, 11, 11, 11/), &
    29     'Ahyb', 'Ahyb at level interface', '', (/ ('once', i=1, 10) /))
     29          'Ahyb', 'Ahyb at level interface', '', (/ ('once', i = 1, 10) /))
    3030  TYPE(ctrl_out), SAVE :: o_Bhyb = ctrl_out((/ 1, 1, 1, 1, 1, 1, 11, 11, 11, 11/), &
    31     'Bhyb', 'Bhyb at level interface', '', (/ ('once', i=1, 10) /))
     31          'Bhyb', 'Bhyb at level interface', '', (/ ('once', i = 1, 10) /))
    3232  TYPE(ctrl_out), SAVE :: o_Ahyb_bounds = ctrl_out((/ 1, 1, 1, 1, 1, 1, 11, 11, 11, 11/), &
    33     'Ahyb_bounds', '', '', (/ ('once', i=1, 10) /))
     33          'Ahyb_bounds', '', '', (/ ('once', i = 1, 10) /))
    3434  TYPE(ctrl_out), SAVE :: o_Bhyb_bounds = ctrl_out((/ 1, 1, 1, 1, 1, 1, 11, 11, 11, 11/), &
    35     'Bhyb_bounds', '', '', (/ ('once', i=1, 10) /))
    36 !!! Composantes de la coordonnee sigma-hybride  au milieu des couches
    37 !!! Aps et Bps et interfaces
     35          'Bhyb_bounds', '', '', (/ ('once', i = 1, 10) /))
     36  !!! Composantes de la coordonnee sigma-hybride  au milieu des couches
     37  !!! Aps et Bps et interfaces
    3838  TYPE(ctrl_out), SAVE :: o_Ahyb_mid = ctrl_out((/ 1, 1, 1, 1, 1, 1, 11, 11, 11, 11/), &
    39     'Ahyb_mid', 'Ahyb at the middle of the level', '', (/ ('once', i=1, 10) /))
     39          'Ahyb_mid', 'Ahyb at the middle of the level', '', (/ ('once', i = 1, 10) /))
    4040  TYPE(ctrl_out), SAVE :: o_Bhyb_mid = ctrl_out((/ 1, 1, 1, 1, 1, 1, 11, 11, 11, 11/), &
    41     'Bhyb_mid', 'Bhyb at the middle of the level', '', (/ ('once', i=1, 10) /))
     41          'Bhyb_mid', 'Bhyb at the middle of the level', '', (/ ('once', i = 1, 10) /))
    4242  TYPE(ctrl_out), SAVE :: o_Ahyb_mid_bounds = ctrl_out((/ 1, 1, 1, 1, 1, 1, 11, 11, 11, 11/), &
    43     'Ahyb_mid_bounds', '', '', (/ ('once', i=1, 10) /))
     43          'Ahyb_mid_bounds', '', '', (/ ('once', i = 1, 10) /))
    4444  TYPE(ctrl_out), SAVE :: o_Bhyb_mid_bounds = ctrl_out((/ 1, 1, 1, 1, 1, 1, 11, 11, 11, 11/), &
    45     'Bhyb_mid_bounds', '', '', (/ ('once', i=1, 10) /))
     45          'Bhyb_mid_bounds', '', '', (/ ('once', i = 1, 10) /))
    4646
    4747  TYPE(ctrl_out), SAVE :: o_Alt = ctrl_out((/ 1, 1, 1, 1, 1, 1, 11, 11, 11, 11/), &
    48     'Alt', '', '', (/ ('', i=1, 10) /))
    49 
    50 !!! 1D
     48          'Alt', '', '', (/ ('', i = 1, 10) /))
     49
     50  !!! 1D
    5151  TYPE(ctrl_out), SAVE :: o_phis = ctrl_out((/ 1, 1, 10, 5, 1, 1, 11, 11, 11, 11/), &
    52     'phis', 'Surface geop.height', 'm2/s2', (/ ('', i=1, 10) /))
    53   TYPE(ctrl_out), SAVE :: o_aire = ctrl_out((/ 1, 1, 10,  10, 1, 1, 11, 11, 11, 11/), &
    54     'aire', 'Grid area', '-', (/ 'once', 'once', 'once', 'once', 'once', 'once', &
    55                                  'once', 'once', 'once', 'once' /))
    56   TYPE(ctrl_out), SAVE :: o_contfracATM = ctrl_out((/ 10, 1,  1, 10, 10, 10, 11, 11, 11, 11/), &
    57     'contfracATM', '% sfce ter+lic', '-', &
    58        (/ 'once', 'once', 'once', 'once', 'once', 'once', 'once', 'once', 'once', 'once' /))
    59   TYPE(ctrl_out), SAVE :: o_contfracOR = ctrl_out((/ 10, 1,  10, 10, 10, 10, 11, 11, 11, 11/), &
    60     'contfracOR', '% sfce terre OR', '-', (/ ('', i=1, 10) /))
     52          'phis', 'Surface geop.height', 'm2/s2', (/ ('', i = 1, 10) /))
     53  TYPE(ctrl_out), SAVE :: o_aire = ctrl_out((/ 1, 1, 10, 10, 1, 1, 11, 11, 11, 11/), &
     54          'aire', 'Grid area', '-', (/ 'once', 'once', 'once', 'once', 'once', 'once', &
     55                  'once', 'once', 'once', 'once' /))
     56  TYPE(ctrl_out), SAVE :: o_contfracATM = ctrl_out((/ 10, 1, 1, 10, 10, 10, 11, 11, 11, 11/), &
     57          'contfracATM', '% sfce ter+lic', '-', &
     58          (/ 'once', 'once', 'once', 'once', 'once', 'once', 'once', 'once', 'once', 'once' /))
     59  TYPE(ctrl_out), SAVE :: o_contfracOR = ctrl_out((/ 10, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
     60          'contfracOR', '% sfce terre OR', '-', (/ ('', i = 1, 10) /))
    6161  TYPE(ctrl_out), SAVE :: o_aireTER = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    62     'aireTER', 'Grid area CONT', '-', (/ ('', i=1, 10) /))
    63 
    64 !!! 2D
     62          'aireTER', 'Grid area CONT', '-', (/ ('', i = 1, 10) /))
     63
     64  !!! 2D
    6565  TYPE(ctrl_out), SAVE :: o_sza = ctrl_out((/ 1, 1, 10, 10, 5, 10, 11, 11, 11, 11/), &
    66     'sza', 'Solar zenithal angle', 'degrees', (/ ('', i=1, 10) /))
    67 
    68 ! Marine
    69 
    70   TYPE(ctrl_out), SAVE :: o_alt_tropo = ctrl_out((/1,1,1,1,1,10,10,10,10,10/),&
    71   'alt_tropo','Tropopause pressure','hPa',&
    72    (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)",&
    73       "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
    74 
    75   TYPE(ctrl_out), SAVE :: o_map_prop_hc = ctrl_out((/1,1,1,1,1,10,10,10,10,10/),&
    76   'map_prop_hc','Proportion of high clouds',' ',&
    77    (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)",&
    78       "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
     66          'sza', 'Solar zenithal angle', 'degrees', (/ ('', i = 1, 10) /))
     67
     68  ! Marine
     69
     70  TYPE(ctrl_out), SAVE :: o_alt_tropo = ctrl_out((/1, 1, 1, 1, 1, 10, 10, 10, 10, 10/), &
     71          'alt_tropo', 'Tropopause pressure', 'hPa', &
     72          (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", &
     73                  "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
     74
     75  TYPE(ctrl_out), SAVE :: o_map_prop_hc = ctrl_out((/1, 1, 1, 1, 1, 10, 10, 10, 10, 10/), &
     76          'map_prop_hc', 'Proportion of high clouds', ' ', &
     77          (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", &
     78                  "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
    7979
    8080  TYPE(ctrl_out), SAVE :: o_map_prop_hist = &
    81   ctrl_out((/1,1,1,1,1,1,10,10,10,10/),&
    82   'map_prop_hist','Proportion of high ice semi-transp clouds',' ',&
    83    (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)",&
    84       "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
     81          ctrl_out((/1, 1, 1, 1, 1, 1, 10, 10, 10, 10/), &
     82                  'map_prop_hist', 'Proportion of high ice semi-transp clouds', ' ', &
     83                  (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", &
     84                          "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
    8585
    8686  TYPE(ctrl_out), SAVE :: o_map_emis_hc = &
    87   ctrl_out((/1,1,1,1,1,1,10,10,10,10/),&
    88   'map_emis_hc','Emissivity of high clouds',' ',&
    89    (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)",&
    90       "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
     87          ctrl_out((/1, 1, 1, 1, 1, 1, 10, 10, 10, 10/), &
     88                  'map_emis_hc', 'Emissivity of high clouds', ' ', &
     89                  (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", &
     90                          "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
    9191
    9292  TYPE(ctrl_out), SAVE :: o_map_iwp_hc = &
    93   ctrl_out((/1,1,1,1,1,10,10,10,10,10/),&
    94   'map_iwp_hc','Ice water path of high clouds','g/m2',&
    95    (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)",&
    96       "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
     93          ctrl_out((/1, 1, 1, 1, 1, 10, 10, 10, 10, 10/), &
     94                  'map_iwp_hc', 'Ice water path of high clouds', 'g/m2', &
     95                  (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", &
     96                          "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
    9797
    9898  TYPE(ctrl_out), SAVE :: o_map_deltaz_hc = &
    99   ctrl_out((/1,1,1,1,1,10,10,10,10,10/),&
    100   'map_deltaz_hc','geom thickness of high clouds','m',&
    101    (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)",&
    102       "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
     99          ctrl_out((/1, 1, 1, 1, 1, 10, 10, 10, 10, 10/), &
     100                  'map_deltaz_hc', 'geom thickness of high clouds', 'm', &
     101                  (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", &
     102                          "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
    103103
    104104  TYPE(ctrl_out), SAVE :: o_map_pcld_hc = &
    105   ctrl_out((/1,1,1,1,1,10,10,10,10,10/),&
    106   'map_pcld_hc','cloud pressure of high clouds','hPa',&
    107    (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)",&
    108       "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
    109 
    110    TYPE(ctrl_out), SAVE :: o_map_tcld_hc = &
    111   ctrl_out((/1,1,1,1,1,10,10,10,10,10/),&
    112   'map_tcld_hc','cloud temperature of high clouds','K',&
    113    (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)",&
    114       "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
     105          ctrl_out((/1, 1, 1, 1, 1, 10, 10, 10, 10, 10/), &
     106                  'map_pcld_hc', 'cloud pressure of high clouds', 'hPa', &
     107                  (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", &
     108                          "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
     109
     110  TYPE(ctrl_out), SAVE :: o_map_tcld_hc = &
     111          ctrl_out((/1, 1, 1, 1, 1, 10, 10, 10, 10, 10/), &
     112                  'map_tcld_hc', 'cloud temperature of high clouds', 'K', &
     113                  (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", &
     114                          "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
    115115
    116116  TYPE(ctrl_out), SAVE :: o_map_emis_hist = &
    117   ctrl_out((/1,1,1,1,1,10,10,10,10,10/),&
    118   'map_emis_hist','Emissivity of high ice st clouds',' ',&
    119    (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)",&
    120       "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
     117          ctrl_out((/1, 1, 1, 1, 1, 10, 10, 10, 10, 10/), &
     118                  'map_emis_hist', 'Emissivity of high ice st clouds', ' ', &
     119                  (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", &
     120                          "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
    121121
    122122  TYPE(ctrl_out), SAVE :: o_map_iwp_hist = &
    123   ctrl_out((/1,1,1,1,1,10,10,10,10,10/),&
    124   'map_iwp_hist','Ice water path of high ice st clouds','g/m2',&
    125    (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)",&
    126       "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
     123          ctrl_out((/1, 1, 1, 1, 1, 10, 10, 10, 10, 10/), &
     124                  'map_iwp_hist', 'Ice water path of high ice st clouds', 'g/m2', &
     125                  (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", &
     126                          "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
    127127
    128128  TYPE(ctrl_out), SAVE :: o_map_deltaz_hist = &
    129   ctrl_out((/1,1,1,1,1,10,10,10,10,10/),&
    130   'map_deltaz_hist','geom thickness of high ice st clouds','m',&
    131    (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)",&
    132       "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
     129          ctrl_out((/1, 1, 1, 1, 1, 10, 10, 10, 10, 10/), &
     130                  'map_deltaz_hist', 'geom thickness of high ice st clouds', 'm', &
     131                  (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", &
     132                          "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
    133133
    134134  TYPE(ctrl_out), SAVE :: o_map_rad_hist = &
    135   ctrl_out((/1,1,1,1,1,10,10,10,10,10/),&
    136   'map_rad_hist','ice crystals radius in high ice st clouds','µm',&
    137    (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)",&
    138       "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
    139 
    140 
    141  TYPE(ctrl_out), SAVE :: o_map_emis_Cb = &
    142   ctrl_out((/1,1,1,1,1,10,10,10,10,10/),&
    143   'map_emis_Cb','Emissivity of high Cb clouds',' ',&
    144    (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)",&
    145       "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
    146 
    147  TYPE(ctrl_out), SAVE :: o_map_pcld_Cb = &
    148   ctrl_out((/1,1,1,1,1,10,10,10,10,10/),&
    149   'map_pcld_Cb','cloud pressure of high Cb clouds','hPa',&
    150    (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)",&
    151       "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
    152 
    153  TYPE(ctrl_out), SAVE :: o_map_tcld_Cb = &
    154   ctrl_out((/1,1,1,1,1,10,10,10,10,10/),&
    155   'map_tcld_Cb','cloud temperature of high Cb clouds','K',&
    156    (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)",&
    157       "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
    158 
    159 
    160  TYPE(ctrl_out), SAVE :: o_map_emis_Anv = &
    161   ctrl_out((/1,1,1,1,1,10,10,10,10,10/),&
    162   'map_emis_Anv','Emissivity of high Anv clouds',' ',&
    163    (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)",&
    164       "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
    165 
    166  TYPE(ctrl_out), SAVE :: o_map_pcld_Anv = &
    167   ctrl_out((/1,1,1,1,1,10,10,10,10,10/),&
    168   'map_pcld_Anv','cloud pressure of high Anv clouds','hPa',&
    169    (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)",&
    170       "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
     135          ctrl_out((/1, 1, 1, 1, 1, 10, 10, 10, 10, 10/), &
     136                  'map_rad_hist', 'ice crystals radius in high ice st clouds', 'µm', &
     137                  (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", &
     138                          "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
     139
     140  TYPE(ctrl_out), SAVE :: o_map_emis_Cb = &
     141          ctrl_out((/1, 1, 1, 1, 1, 10, 10, 10, 10, 10/), &
     142                  'map_emis_Cb', 'Emissivity of high Cb clouds', ' ', &
     143                  (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", &
     144                          "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
     145
     146  TYPE(ctrl_out), SAVE :: o_map_pcld_Cb = &
     147          ctrl_out((/1, 1, 1, 1, 1, 10, 10, 10, 10, 10/), &
     148                  'map_pcld_Cb', 'cloud pressure of high Cb clouds', 'hPa', &
     149                  (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", &
     150                          "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
     151
     152  TYPE(ctrl_out), SAVE :: o_map_tcld_Cb = &
     153          ctrl_out((/1, 1, 1, 1, 1, 10, 10, 10, 10, 10/), &
     154                  'map_tcld_Cb', 'cloud temperature of high Cb clouds', 'K', &
     155                  (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", &
     156                          "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
     157
     158  TYPE(ctrl_out), SAVE :: o_map_emis_Anv = &
     159          ctrl_out((/1, 1, 1, 1, 1, 10, 10, 10, 10, 10/), &
     160                  'map_emis_Anv', 'Emissivity of high Anv clouds', ' ', &
     161                  (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", &
     162                          "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
     163
     164  TYPE(ctrl_out), SAVE :: o_map_pcld_Anv = &
     165          ctrl_out((/1, 1, 1, 1, 1, 10, 10, 10, 10, 10/), &
     166                  'map_pcld_Anv', 'cloud pressure of high Anv clouds', 'hPa', &
     167                  (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", &
     168                          "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
    171169
    172170  TYPE(ctrl_out), SAVE :: o_map_tcld_Anv = &
    173   ctrl_out((/1,1,1,1,1,10,10,10,10,10/),&
    174   'map_tcld_Anv','cloud temperature of high Anv clouds','K',&
    175    (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)",&
    176       "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
     171          ctrl_out((/1, 1, 1, 1, 1, 10, 10, 10, 10, 10/), &
     172                  'map_tcld_Anv', 'cloud temperature of high Anv clouds', 'K', &
     173                  (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", &
     174                          "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
    177175
    178176  TYPE(ctrl_out), SAVE :: o_map_emis_ThCi = &
    179   ctrl_out((/1,1,1,1,1,10,10,10,10,10/),&
    180   'map_emis_ThCi','Emissivity of high ThCi clouds',' ',&
    181    (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)",&
    182       "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
     177          ctrl_out((/1, 1, 1, 1, 1, 10, 10, 10, 10, 10/), &
     178                  'map_emis_ThCi', 'Emissivity of high ThCi clouds', ' ', &
     179                  (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", &
     180                          "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
    183181
    184182  TYPE(ctrl_out), SAVE :: o_map_pcld_ThCi = &
    185   ctrl_out((/1,1,1,1,1,10,10,10,10,10/),&
    186   'map_pcld_ThCi','cloud pressure of high ThCi clouds','hPa',&
    187    (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)",&
    188       "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
     183          ctrl_out((/1, 1, 1, 1, 1, 10, 10, 10, 10, 10/), &
     184                  'map_pcld_ThCi', 'cloud pressure of high ThCi clouds', 'hPa', &
     185                  (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", &
     186                          "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
    189187
    190188  TYPE(ctrl_out), SAVE :: o_map_tcld_ThCi = &
    191   ctrl_out((/10,10,1,10,10,10,10,10,10,10/),&
    192   'map_tcld_ThCi','cloud temperature of high ThCi clouds','K',&
    193    (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)",&
    194       "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
    195 
    196    TYPE(ctrl_out), SAVE :: o_map_ntot = &
    197   ctrl_out((/1,1,1,1,1,10,10,10,10,10/),&
    198   'map_ntot','total AIRS cloud fraction',' ',&
    199    (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)",&
    200       "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
     189          ctrl_out((/10, 10, 1, 10, 10, 10, 10, 10, 10, 10/), &
     190                  'map_tcld_ThCi', 'cloud temperature of high ThCi clouds', 'K', &
     191                  (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", &
     192                          "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
     193
     194  TYPE(ctrl_out), SAVE :: o_map_ntot = &
     195          ctrl_out((/1, 1, 1, 1, 1, 10, 10, 10, 10, 10/), &
     196                  'map_ntot', 'total AIRS cloud fraction', ' ', &
     197                  (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", &
     198                          "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
    201199
    202200  TYPE(ctrl_out), SAVE :: o_map_hc = &
    203   ctrl_out((/1,1,1,1,1,10,10,10,10,10/),&
    204   'map_hc','high clouds AIRS cloud fraction',' ',&
    205    (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)",&
    206       "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
     201          ctrl_out((/1, 1, 1, 1, 1, 10, 10, 10, 10, 10/), &
     202                  'map_hc', 'high clouds AIRS cloud fraction', ' ', &
     203                  (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", &
     204                          "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
    207205
    208206  TYPE(ctrl_out), SAVE :: o_map_hist = &
    209   ctrl_out((/1,1,1,1,1,10,10,10,10,10/),&
    210   'map_hist','high clouds ice st AIRS cloud fraction',' ',&
    211    (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)",&
    212       "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
     207          ctrl_out((/1, 1, 1, 1, 1, 10, 10, 10, 10, 10/), &
     208                  'map_hist', 'high clouds ice st AIRS cloud fraction', ' ', &
     209                  (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", &
     210                          "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
    213211
    214212  TYPE(ctrl_out), SAVE :: o_map_Cb = &
    215   ctrl_out((/1,1,1,1,1,10,10,10,10,10/),&
    216   'map_Cb','high clouds Cb AIRS cloud fraction',' ',&
    217    (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)",&
    218       "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
    219 
    220  TYPE(ctrl_out), SAVE :: o_map_ThCi = &
    221   ctrl_out((/1,1,1,1,1,10,10,10,10,10/),&
    222   'map_ThCi','high clouds ThCi AIRS cloud fraction',' ',&
    223    (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)",&
    224       "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
    225 
    226  TYPE(ctrl_out), SAVE :: o_map_Anv = &
    227   ctrl_out((/1,1,1,1,1,10,10,10,10,10/),&
    228   'map_Anv','high clouds Anv AIRS cloud fraction',' ',&
    229    (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)",&
    230       "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
    231 
    232 ! Fin Marine
     213          ctrl_out((/1, 1, 1, 1, 1, 10, 10, 10, 10, 10/), &
     214                  'map_Cb', 'high clouds Cb AIRS cloud fraction', ' ', &
     215                  (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", &
     216                          "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
     217
     218  TYPE(ctrl_out), SAVE :: o_map_ThCi = &
     219          ctrl_out((/1, 1, 1, 1, 1, 10, 10, 10, 10, 10/), &
     220                  'map_ThCi', 'high clouds ThCi AIRS cloud fraction', ' ', &
     221                  (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", &
     222                          "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
     223
     224  TYPE(ctrl_out), SAVE :: o_map_Anv = &
     225          ctrl_out((/1, 1, 1, 1, 1, 10, 10, 10, 10, 10/), &
     226                  'map_Anv', 'high clouds Anv AIRS cloud fraction', ' ', &
     227                  (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", &
     228                          "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
     229
     230  ! Fin Marine
    233231
    234232  TYPE(ctrl_out), SAVE :: o_flat = ctrl_out((/ 5, 1, 10, 10, 5, 10, 11, 11, 11, 11/), &
    235     'flat', 'Latent heat flux', 'W/m2', (/ ('', i=1, 10) /))
     233          'flat', 'Latent heat flux', 'W/m2', (/ ('', i = 1, 10) /))
    236234  TYPE(ctrl_out), SAVE :: o_ptstar = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11, 11/), &
    237     'ptstar', 'Air Surface Temperature', 'K', (/ ('', i=1, 10) /))
     235          'ptstar', 'Air Surface Temperature', 'K', (/ ('', i = 1, 10) /))
    238236  TYPE(ctrl_out), SAVE :: o_pt0 = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11, 11/), &
    239     'pt0', 'Standard Air Surface Temperature', 'K', (/ ('', i=1, 10) /))
     237          'pt0', 'Standard Air Surface Temperature', 'K', (/ ('', i = 1, 10) /))
    240238  TYPE(ctrl_out), SAVE :: o_slp = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11, 11/), &
    241     'slp', 'Sea Level Pressure', 'Pa', (/ ('', i=1, 10) /))
     239          'slp', 'Sea Level Pressure', 'Pa', (/ ('', i = 1, 10) /))
    242240  TYPE(ctrl_out), SAVE :: o_tsol = ctrl_out((/ 1, 1, 1, 5, 10, 10, 11, 11, 11, 11/), &
    243     'tsol', 'Surface Temperature', 'K', (/ ('', i=1, 10) /))
     241          'tsol', 'Surface Temperature', 'K', (/ ('', i = 1, 10) /))
    244242  TYPE(ctrl_out), SAVE :: o_t2m = ctrl_out((/ 1, 1, 1, 5, 10, 10, 11, 11, 11, 11/), &
    245     't2m', 'Temperature 2m', 'K', (/ ('', i=1, 10) /))
     243          't2m', 'Temperature 2m', 'K', (/ ('', i = 1, 10) /))
    246244  TYPE(ctrl_out), SAVE :: o_t2m_min = ctrl_out((/ 20, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
    247     't2m_min', 'Temp 2m min', 'K', &
    248       (/ "t_min(X)", "t_min(X)", "t_min(X)", "t_min(X)", "t_min(X)", &
    249          "t_min(X)", "t_min(X)", "t_min(X)", "t_min(X)", "t_min(X)" /))
     245          't2m_min', 'Temp 2m min', 'K', &
     246          (/ "t_min(X)", "t_min(X)", "t_min(X)", "t_min(X)", "t_min(X)", &
     247                  "t_min(X)", "t_min(X)", "t_min(X)", "t_min(X)", "t_min(X)" /))
    250248  TYPE(ctrl_out), SAVE :: o_t2m_max = ctrl_out((/ 20, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
    251     't2m_max', 'Temp 2m max', 'K', &
    252       (/ "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", &
    253          "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)" /))
     249          't2m_max', 'Temp 2m max', 'K', &
     250          (/ "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", &
     251                  "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)" /))
    254252
    255253  TYPE(ctrl_out), SAVE :: o_t2m_min_mon = ctrl_out((/ 1, 20, 20, 20, 20, 20, 20, 20, 20, 20 /), &
    256     't2m_min_mon', 'Monthly average min 2m temperature', 'K', &
    257       (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", &
    258          "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
     254          't2m_min_mon', 'Monthly average min 2m temperature', 'K', &
     255          (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", &
     256                  "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
    259257  TYPE(ctrl_out), SAVE :: o_t2m_max_mon = ctrl_out((/ 1, 20, 20, 20, 20, 20, 20, 20, 20, 20 /), &
    260     't2m_max_mon', 'Monthly average max 2m temperature', 'K', &
    261       (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", &
    262          "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
     258          't2m_max_mon', 'Monthly average max 2m temperature', 'K', &
     259          (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", &
     260                  "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
    263261
    264262  TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_t2m_srf = (/ &
    265       ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
    266     't2m_ter', "Temp 2m "//clnsurf(1), "K", (/ ('', i=1, 10) /)), &
    267       ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
    268     't2m_lic', "Temp 2m "//clnsurf(2), "K", (/ ('', i=1, 10) /)), &
    269       ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
    270     't2m_oce', "Temp 2m "//clnsurf(3), "K", (/ ('', i=1, 10) /)), &
    271       ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
    272     't2m_sic', "Temp 2m "//clnsurf(4), "K", (/ ('', i=1, 10) /)) /)
     263          ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
     264                  't2m_ter', "Temp 2m " // clnsurf(1), "K", (/ ('', i = 1, 10) /)), &
     265                  ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
     266                          't2m_lic', "Temp 2m " // clnsurf(2), "K", (/ ('', i = 1, 10) /)), &
     267                  ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
     268                          't2m_oce', "Temp 2m " // clnsurf(3), "K", (/ ('', i = 1, 10) /)), &
     269                  ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
     270                          't2m_sic', "Temp 2m " // clnsurf(4), "K", (/ ('', i = 1, 10) /)) /)
    273271
    274272  TYPE(ctrl_out), SAVE :: o_nt2mout = ctrl_out((/ 1, 1, 1, 5, 10, 10, 11, 11, 11, 11/), &
    275     'nt2mout', 'Nbt2m out of range complete computation', '-', (/ ('', i=1, 10) /))
     273          'nt2mout', 'Nbt2m out of range complete computation', '-', (/ ('', i = 1, 10) /))
    276274  TYPE(ctrl_out), SAVE :: o_nq2mout = ctrl_out((/ 1, 1, 1, 5, 10, 10, 11, 11, 11, 11/), &
    277     'nq2mout', 'Nbq2m out of range complete computation', '-', (/ ('', i=1, 10) /))
     275          'nq2mout', 'Nbq2m out of range complete computation', '-', (/ ('', i = 1, 10) /))
    278276  TYPE(ctrl_out), SAVE :: o_nu2mout = ctrl_out((/ 1, 1, 1, 5, 10, 10, 11, 11, 11, 11/), &
    279     'nu2mout', 'Nbu2m out of range complete computation', '-', (/ ('', i=1, 10) /))
     277          'nu2mout', 'Nbu2m out of range complete computation', '-', (/ ('', i = 1, 10) /))
    280278
    281279  TYPE(ctrl_out), SAVE :: o_nt2moutfg = ctrl_out((/ 1, 1, 1, 5, 10, 10, 11, 11, 11, 11/), &
    282     'nt2moutfg', 'Nbt2m out of range complete/fgRi1 computation', '-', (/ ('', i=1, 10) /))
     280          'nt2moutfg', 'Nbt2m out of range complete/fgRi1 computation', '-', (/ ('', i = 1, 10) /))
    283281  TYPE(ctrl_out), SAVE :: o_nq2moutfg = ctrl_out((/ 1, 1, 1, 5, 10, 10, 11, 11, 11, 11/), &
    284     'nq2moutfg', 'Nbq2m out of range complete/fgRi1 computation', '-', (/ ('', i=1, 10) /))
     282          'nq2moutfg', 'Nbq2m out of range complete/fgRi1 computation', '-', (/ ('', i = 1, 10) /))
    285283  TYPE(ctrl_out), SAVE :: o_nu2moutfg = ctrl_out((/ 1, 1, 1, 5, 10, 10, 11, 11, 11, 11/), &
    286     'nu2moutfg', 'Nbu2m out of range complete/fgRi1 computation', '-', (/ ('', i=1, 10) /))
     284          'nu2moutfg', 'Nbu2m out of range complete/fgRi1 computation', '-', (/ ('', i = 1, 10) /))
    287285
    288286  TYPE(ctrl_out), SAVE :: o_gusts = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11, 11/), &
    289     'gusts', 'surface gustiness', 'm2/s2', (/ ('', i=1, 10) /))
     287          'gusts', 'surface gustiness', 'm2/s2', (/ ('', i = 1, 10) /))
    290288
    291289  TYPE(ctrl_out), SAVE :: o_wind10m = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11, 11/), &
    292     'wind10m', '10-m wind speed', 'm/s', (/ ('', i=1, 10) /))
     290          'wind10m', '10-m wind speed', 'm/s', (/ ('', i = 1, 10) /))
    293291  TYPE(ctrl_out), SAVE :: o_wind100m = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    294     'wind100m', '100-m wind speed', 'm/s', (/ ('', i=1, 10) /))
     292          'wind100m', '100-m wind speed', 'm/s', (/ ('', i = 1, 10) /))
    295293  TYPE(ctrl_out), SAVE :: o_loadfactor_wind_onshore = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    296     'woncfr', 'Onshore Wind Capacity factor', 'kW/kW_installed', (/ ('', i=1, 10) /))
     294          'woncfr', 'Onshore Wind Capacity factor', 'kW/kW_installed', (/ ('', i = 1, 10) /))
    297295  TYPE(ctrl_out), SAVE :: o_loadfactor_wind_offshore = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    298     'wofcfr', 'Offshore Wind Capacity factor', 'kW/kW_installed', (/ ('', i=1, 10) /))
     296          'wofcfr', 'Offshore Wind Capacity factor', 'kW/kW_installed', (/ ('', i = 1, 10) /))
    299297  TYPE(ctrl_out), SAVE :: o_wind10max = ctrl_out((/ 10, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
    300     'wind10max', '10m wind speed max', 'm/s', &
    301     (/ "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", &
    302        "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)" /))
     298          'wind10max', '10m wind speed max', 'm/s', &
     299          (/ "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", &
     300                  "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)" /))
    303301
    304302  TYPE(ctrl_out), SAVE :: o_sicf = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
    305     'sicf', 'Sea-ice fraction', '-', (/ ('', i=1, 10) /))
     303          'sicf', 'Sea-ice fraction', '-', (/ ('', i = 1, 10) /))
    306304  TYPE(ctrl_out), SAVE :: o_q2m = ctrl_out((/ 1, 1, 1, 5, 10, 10, 11, 11, 11, 11/), &
    307     'q2m', 'Specific humidity 2m', 'kg/kg', (/ ('', i=1, 10) /))
     305          'q2m', 'Specific humidity 2m', 'kg/kg', (/ ('', i = 1, 10) /))
    308306  TYPE(ctrl_out), SAVE :: o_ustar = ctrl_out((/ 1, 1, 10, 5, 10, 10, 11, 11, 11, 11/), &
    309     'ustar', 'Friction velocity', 'm/s', (/ ('', i=1, 10) /))
     307          'ustar', 'Friction velocity', 'm/s', (/ ('', i = 1, 10) /))
    310308  TYPE(ctrl_out), SAVE :: o_u10m = ctrl_out((/ 1, 1, 1, 5, 10, 10, 11, 11, 11, 11/), &
    311     'u10m', 'Vent zonal 10m', 'm/s', (/ ('', i=1, 10) /))
     309          'u10m', 'Vent zonal 10m', 'm/s', (/ ('', i = 1, 10) /))
    312310  TYPE(ctrl_out), SAVE :: o_v10m = ctrl_out((/ 1, 1, 1, 5, 10, 10, 11, 11, 11, 11/), &
    313     'v10m', 'Vent meridien 10m', 'm/s', (/ ('', i=1, 10) /))
     311          'v10m', 'Vent meridien 10m', 'm/s', (/ ('', i = 1, 10) /))
    314312  TYPE(ctrl_out), SAVE :: o_psol = ctrl_out((/ 1, 1, 1, 5, 10, 10, 11, 11, 11, 11/), &
    315     'psol', 'Surface Pressure', 'Pa', (/ ('', i=1, 10) /))
     313          'psol', 'Surface Pressure', 'Pa', (/ ('', i = 1, 10) /))
    316314  TYPE(ctrl_out), SAVE :: o_qsurf = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    317     'qsurf', 'Surface Air humidity', 'kg/kg', (/ ('', i=1, 10) /))
    318 
    319   TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_ustar_srf     = (/ &
    320       ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'ustar_ter', &
    321       "Friction velocity "//clnsurf(1),"m/s", (/ ('', i=1, 10) /)), &
    322       ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'ustar_lic', &
    323       "Friction velocity "//clnsurf(2),"m/s", (/ ('', i=1, 10) /)), &
    324       ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'ustar_oce', &
    325       "Friction velocity "//clnsurf(3),"m/s", (/ ('', i=1, 10) /)), &
    326       ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'ustar_sic', &
    327       "Friction velocity "//clnsurf(4),"m/s", (/ ('', i=1, 10) /)) /)
    328 
    329   TYPE(ctrl_out), SAVE, DIMENSION(5) :: o_wstar         = (/ &
    330       ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'wstar_ter', &
    331       "Friction velocity "//clnsurf(1),"m/s", (/ ('', i=1, 10) /)), &
    332       ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'wstar_lic', &
    333       "Friction velocity "//clnsurf(2),"m/s", (/ ('', i=1, 10) /)), &
    334       ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'wstar_oce', &
    335       "Friction velocity "//clnsurf(3),"m/s", (/ ('', i=1, 10) /)), &
    336       ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'wstar_sic', &
    337       "Friction velocity "//clnsurf(4),"m/s", (/ ('', i=1, 10) /)), &
    338       ctrl_out((/ 5, 5, 10, 10, 10, 10, 11, 11, 11, 11/),'wstar', &
    339       "w* convective velocity "//clnsurf(4),"m/s", (/ ('', i=1, 10) /)) /)
    340 
    341   TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_u10m_srf     = (/ &
    342       ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'u10m_ter', &
    343       "Vent Zonal 10m "//clnsurf(1),"m/s", (/ ('', i=1, 10) /)), &
    344       ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'u10m_lic', &
    345       "Vent Zonal 10m "//clnsurf(2),"m/s", (/ ('', i=1, 10) /)), &
    346       ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'u10m_oce', &
    347       "Vent Zonal 10m "//clnsurf(3),"m/s", (/ ('', i=1, 10) /)), &
    348       ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'u10m_sic', &
    349       "Vent Zonal 10m "//clnsurf(4),"m/s", (/ ('', i=1, 10) /)) /)
    350 
    351   TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_v10m_srf     = (/ &
    352       ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'v10m_ter', &
    353       "Vent meredien 10m "//clnsurf(1),"m/s", (/ ('', i=1, 10) /)), &
    354       ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'v10m_lic', &
    355       "Vent meredien 10m "//clnsurf(2),"m/s", (/ ('', i=1, 10) /)), &
    356       ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'v10m_oce', &
    357       "Vent meredien 10m "//clnsurf(3),"m/s", (/ ('', i=1, 10) /)), &
    358       ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'v10m_sic', &
    359       "Vent meredien 10m "//clnsurf(4),"m/s", (/ ('', i=1, 10) /)) /)
     315          'qsurf', 'Surface Air humidity', 'kg/kg', (/ ('', i = 1, 10) /))
     316
     317  TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_ustar_srf = (/ &
     318          ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'ustar_ter', &
     319                  "Friction velocity " // clnsurf(1), "m/s", (/ ('', i = 1, 10) /)), &
     320                  ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'ustar_lic', &
     321                          "Friction velocity " // clnsurf(2), "m/s", (/ ('', i = 1, 10) /)), &
     322                  ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'ustar_oce', &
     323                          "Friction velocity " // clnsurf(3), "m/s", (/ ('', i = 1, 10) /)), &
     324                  ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'ustar_sic', &
     325                          "Friction velocity " // clnsurf(4), "m/s", (/ ('', i = 1, 10) /)) /)
     326
     327  TYPE(ctrl_out), SAVE, DIMENSION(5) :: o_wstar = (/ &
     328          ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'wstar_ter', &
     329                  "Friction velocity " // clnsurf(1), "m/s", (/ ('', i = 1, 10) /)), &
     330                  ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'wstar_lic', &
     331                          "Friction velocity " // clnsurf(2), "m/s", (/ ('', i = 1, 10) /)), &
     332                  ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'wstar_oce', &
     333                          "Friction velocity " // clnsurf(3), "m/s", (/ ('', i = 1, 10) /)), &
     334                  ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'wstar_sic', &
     335                          "Friction velocity " // clnsurf(4), "m/s", (/ ('', i = 1, 10) /)), &
     336                  ctrl_out((/ 5, 5, 10, 10, 10, 10, 11, 11, 11, 11/), 'wstar', &
     337                          "w* convective velocity " // clnsurf(4), "m/s", (/ ('', i = 1, 10) /)) /)
     338
     339  TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_u10m_srf = (/ &
     340          ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'u10m_ter', &
     341                  "Vent Zonal 10m " // clnsurf(1), "m/s", (/ ('', i = 1, 10) /)), &
     342                  ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'u10m_lic', &
     343                          "Vent Zonal 10m " // clnsurf(2), "m/s", (/ ('', i = 1, 10) /)), &
     344                  ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'u10m_oce', &
     345                          "Vent Zonal 10m " // clnsurf(3), "m/s", (/ ('', i = 1, 10) /)), &
     346                  ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'u10m_sic', &
     347                          "Vent Zonal 10m " // clnsurf(4), "m/s", (/ ('', i = 1, 10) /)) /)
     348
     349  TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_v10m_srf = (/ &
     350          ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'v10m_ter', &
     351                  "Vent meredien 10m " // clnsurf(1), "m/s", (/ ('', i = 1, 10) /)), &
     352                  ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'v10m_lic', &
     353                          "Vent meredien 10m " // clnsurf(2), "m/s", (/ ('', i = 1, 10) /)), &
     354                  ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'v10m_oce', &
     355                          "Vent meredien 10m " // clnsurf(3), "m/s", (/ ('', i = 1, 10) /)), &
     356                  ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'v10m_sic', &
     357                          "Vent meredien 10m " // clnsurf(4), "m/s", (/ ('', i = 1, 10) /)) /)
    360358
    361359  TYPE(ctrl_out), SAVE :: o_qsol = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    362     'qsol', 'Soil watter content', 'mm', (/ ('', i=1, 10) /))
     360          'qsol', 'Soil watter content', 'mm', (/ ('', i = 1, 10) /))
    363361  TYPE(ctrl_out), SAVE :: o_ndayrain = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    364     'ndayrain', 'Number of dayrain(liq+sol)', '-', &
    365       (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
     362          'ndayrain', 'Number of dayrain(liq+sol)', '-', &
     363          (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
    366364  TYPE(ctrl_out), SAVE :: o_rain_fall = ctrl_out((/ 1, 1, 1, 10, 5, 10, 11, 11, 11, 11/), &
    367     'rain_fall', 'Precip Totale liq', 'kg/(s*m2)', (/ ('', i=1, 10) /))
     365          'rain_fall', 'Precip Totale liq', 'kg/(s*m2)', (/ ('', i = 1, 10) /))
    368366  TYPE(ctrl_out), SAVE :: o_rain_con = ctrl_out((/ 7, 7, 7, 10, 7, 10, 11, 11, 11, 11/), &
    369     'rain_con', 'Precip liq conv.', 'kg/(s*m2)', (/ ('', i=1, 10) /))
     367          'rain_con', 'Precip liq conv.', 'kg/(s*m2)', (/ ('', i = 1, 10) /))
    370368  TYPE(ctrl_out), SAVE :: o_precip = ctrl_out((/ 1, 1, 1, 10, 5, 10, 11, 11, 11, 11/), &
    371     'precip', 'Precip Totale liq+sol', 'kg/(s*m2)', (/ ('', i=1, 10) /))
     369          'precip', 'Precip Totale liq+sol', 'kg/(s*m2)', (/ ('', i = 1, 10) /))
    372370  TYPE(ctrl_out), SAVE :: o_plul = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11, 11/), &
    373     'plul', 'Large-scale Precip.', 'kg/(s*m2)', (/ ('', i=1, 10) /))
     371          'plul', 'Large-scale Precip.', 'kg/(s*m2)', (/ ('', i = 1, 10) /))
    374372  TYPE(ctrl_out), SAVE :: o_plun = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11, 11/), &
    375     'plun', 'Numerical Precip.', 'kg/(s*m2)', (/ ('', i=1, 10) /))
     373          'plun', 'Numerical Precip.', 'kg/(s*m2)', (/ ('', i = 1, 10) /))
    376374  TYPE(ctrl_out), SAVE :: o_pluc = ctrl_out((/ 1, 1, 1, 10, 5, 10, 11, 11, 11, 11/), &
    377     'pluc', 'Convective Precip.', 'kg/(s*m2)', (/ ('', i=1, 10) /))
     375          'pluc', 'Convective Precip.', 'kg/(s*m2)', (/ ('', i = 1, 10) /))
    378376  TYPE(ctrl_out), SAVE :: o_snow = ctrl_out((/ 1, 1, 10, 10, 5, 10, 11, 11, 11, 11/), &
    379     'snow', 'Snow fall', 'kg/(s*m2)', (/ ('', i=1, 10) /))
     377          'snow', 'Snow fall', 'kg/(s*m2)', (/ ('', i = 1, 10) /))
    380378  TYPE(ctrl_out), SAVE :: o_bsfall = ctrl_out((/ 10, 10, 10, 10, 5, 10, 11, 11, 11, 11/), &
    381     'bsfall', 'Blowing Snow fall', 'kg/(s*m2)', (/ ('', i=1, 10) /))
     379          'bsfall', 'Blowing Snow fall', 'kg/(s*m2)', (/ ('', i = 1, 10) /))
    382380  TYPE(ctrl_out), SAVE :: o_evap = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
    383     'evap', 'Evaporat', 'kg/(s*m2)', (/ ('', i=1, 10) /))
     381          'evap', 'Evaporat', 'kg/(s*m2)', (/ ('', i = 1, 10) /))
    384382  TYPE(ctrl_out), SAVE :: o_snowerosion = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    385    'snowerosion', 'blowing snow flux', 'kg/(s*m2)', (/ ('', i=1, 10) /))
    386   TYPE(ctrl_out), SAVE :: o_ustart_lic = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), & 
    387     'ustart_lic', 'threshold velocity', 'm/s', (/ ('', i=1, 10) /))
     383          'snowerosion', 'blowing snow flux', 'kg/(s*m2)', (/ ('', i = 1, 10) /))
     384  TYPE(ctrl_out), SAVE :: o_ustart_lic = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
     385          'ustart_lic', 'threshold velocity', 'm/s', (/ ('', i = 1, 10) /))
    388386  TYPE(ctrl_out), SAVE :: o_rhosnow_lic = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
    389     'rhosnow_lic', 'snow density lic', 'kg/m3', (/ ('', i=1, 10) /))
     387          'rhosnow_lic', 'snow density lic', 'kg/m3', (/ ('', i = 1, 10) /))
    390388  TYPE(ctrl_out), SAVE :: o_qsalt_lic = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
    391     'qsalt_lic', 'qb in saltation layer lic', 'kg/kg', (/ ('', i=1, 10) /))
     389          'qsalt_lic', 'qb in saltation layer lic', 'kg/kg', (/ ('', i = 1, 10) /))
    392390  TYPE(ctrl_out), SAVE :: o_sens_prec_liq_oce = ctrl_out((/ 5, 5, 10, 10, 5, 10, 11, 11, 11, 11/), &
    393     'sens_rain_oce', 'Sensible heat flux of liquid prec. over ocean', 'W/m2', (/ ('', i=1, 10) /))
     391          'sens_rain_oce', 'Sensible heat flux of liquid prec. over ocean', 'W/m2', (/ ('', i = 1, 10) /))
    394392  TYPE(ctrl_out), SAVE :: o_sens_prec_liq_sic = ctrl_out((/ 5, 5, 10, 10, 5, 10, 11, 11, 11, 11/), &
    395     'sens_rain_sic', 'Sensible heat flux of liquid prec. over seaice', 'W/m2', (/ ('', i=1, 10) /))
     393          'sens_rain_sic', 'Sensible heat flux of liquid prec. over seaice', 'W/m2', (/ ('', i = 1, 10) /))
    396394  TYPE(ctrl_out), SAVE :: o_sens_prec_sol_oce = ctrl_out((/ 5, 5, 10, 10, 5, 10, 11, 11, 11, 11/), &
    397     'sens_snow_oce', 'Sensible heat flux of solid prec. over ocean', 'W/m2', (/ ('', i=1, 10) /))
     395          'sens_snow_oce', 'Sensible heat flux of solid prec. over ocean', 'W/m2', (/ ('', i = 1, 10) /))
    398396  TYPE(ctrl_out), SAVE :: o_sens_prec_sol_sic = ctrl_out((/ 5, 5, 10, 10, 5, 10, 11, 11, 11, 11/), &
    399     'sens_snow_sic', 'Sensible heat flux of solid prec. over seaice', 'W/m2', (/ ('', i=1, 10) /))
     397          'sens_snow_sic', 'Sensible heat flux of solid prec. over seaice', 'W/m2', (/ ('', i = 1, 10) /))
    400398  TYPE(ctrl_out), SAVE :: o_lat_prec_liq_oce = ctrl_out((/ 5, 5, 10, 10, 5, 10, 11, 11, 11, 11/), &
    401     'lat_rain_oce', 'Latent heat flux of liquid prec. over ocean', 'W/m2', (/ ('', i=1, 10) /))
     399          'lat_rain_oce', 'Latent heat flux of liquid prec. over ocean', 'W/m2', (/ ('', i = 1, 10) /))
    402400  TYPE(ctrl_out), SAVE :: o_lat_prec_liq_sic = ctrl_out((/ 5, 5, 10, 10, 5, 10, 11, 11, 11, 11/), &
    403     'lat_rain_sic', 'Latent heat flux of liquid prec. over seaice', 'W/m2', (/ ('', i=1, 10) /))
     401          'lat_rain_sic', 'Latent heat flux of liquid prec. over seaice', 'W/m2', (/ ('', i = 1, 10) /))
    404402  TYPE(ctrl_out), SAVE :: o_lat_prec_sol_oce = ctrl_out((/ 5, 5, 10, 10, 5, 10, 11, 11, 11, 11/), &
    405     'lat_snow_oce', 'Latent heat flux of solid prec. over ocean', 'W/m2', (/ ('', i=1, 10) /))
     403          'lat_snow_oce', 'Latent heat flux of solid prec. over ocean', 'W/m2', (/ ('', i = 1, 10) /))
    406404  TYPE(ctrl_out), SAVE :: o_lat_prec_sol_sic = ctrl_out((/ 5, 5, 10, 10, 5, 10, 11, 11, 11, 11/), &
    407     'lat_snow_sic', 'Latent heat flux of solid prec. over seaice', 'W/m2', (/ ('', i=1, 10) /))
    408 
    409 
    410   TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_evap_srf     = (/ &
    411       ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'evap_ter', &
    412       "evaporation at surface "//clnsurf(1),"kg/(s*m2)", (/ ('', i=1, 10) /)), &
    413       ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'evap_lic', &
    414       "evaporation at surface "//clnsurf(2),"kg/(s*m2)", (/ ('', i=1, 10) /)), &
    415       ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'evap_oce', &
    416       "evaporation at surface "//clnsurf(3),"kg/(s*m2)", (/ ('', i=1, 10) /)), &
    417       ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'evap_sic', &
    418       "evaporation at surface "//clnsurf(4),"kg/(s*m2)", (/ ('', i=1, 10) /)) /)
     405          'lat_snow_sic', 'Latent heat flux of solid prec. over seaice', 'W/m2', (/ ('', i = 1, 10) /))
     406
     407  TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_evap_srf = (/ &
     408          ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'evap_ter', &
     409                  "evaporation at surface " // clnsurf(1), "kg/(s*m2)", (/ ('', i = 1, 10) /)), &
     410                  ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'evap_lic', &
     411                          "evaporation at surface " // clnsurf(2), "kg/(s*m2)", (/ ('', i = 1, 10) /)), &
     412                  ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'evap_oce', &
     413                          "evaporation at surface " // clnsurf(3), "kg/(s*m2)", (/ ('', i = 1, 10) /)), &
     414                  ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'evap_sic', &
     415                          "evaporation at surface " // clnsurf(4), "kg/(s*m2)", (/ ('', i = 1, 10) /)) /)
    419416
    420417  TYPE(ctrl_out), SAVE :: o_msnow = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    421     'msnow', 'Surface snow amount', 'kg/m2', (/ ('', i=1, 10) /))
     418          'msnow', 'Surface snow amount', 'kg/m2', (/ ('', i = 1, 10) /))
    422419  TYPE(ctrl_out), SAVE :: o_fsnow = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    423     'fsnow', 'Surface snow area fraction', '-', (/ ('', i=1, 10) /))
     420          'fsnow', 'Surface snow area fraction', '-', (/ ('', i = 1, 10) /))
    424421  TYPE(ctrl_out), SAVE :: o_tops = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
    425     'tops', 'Solar rad. at TOA', 'W/m2', (/ ('', i=1, 10) /))
     422          'tops', 'Solar rad. at TOA', 'W/m2', (/ ('', i = 1, 10) /))
    426423  TYPE(ctrl_out), SAVE :: o_tops0 = ctrl_out((/ 1, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
    427     'tops0', 'CS Solar rad. at TOA', 'W/m2', (/ ('', i=1, 10) /))
     424          'tops0', 'CS Solar rad. at TOA', 'W/m2', (/ ('', i = 1, 10) /))
    428425  TYPE(ctrl_out), SAVE :: o_topl = ctrl_out((/ 1, 1, 10, 5, 10, 10, 11, 11, 11, 11/), &
    429     'topl', 'IR rad. at TOA', 'W/m2', (/ ('', i=1, 10) /))
     426          'topl', 'IR rad. at TOA', 'W/m2', (/ ('', i = 1, 10) /))
    430427  TYPE(ctrl_out), SAVE :: o_topl0 = ctrl_out((/ 1, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
    431     'topl0', 'IR rad. at TOA', 'W/m2', (/ ('', i=1, 10) /))
     428          'topl0', 'IR rad. at TOA', 'W/m2', (/ ('', i = 1, 10) /))
    432429  TYPE(ctrl_out), SAVE :: o_SWupTOA = ctrl_out((/ 1, 4, 10, 10, 10, 10, 11, 11, 11, 11/), &
    433     'SWupTOA', 'SWup at TOA', 'W/m2', (/ ('', i=1, 10) /))
     430          'SWupTOA', 'SWup at TOA', 'W/m2', (/ ('', i = 1, 10) /))
    434431  TYPE(ctrl_out), SAVE :: o_SWupTOAclr = ctrl_out((/ 1, 4, 10, 10, 10, 10, 11, 11, 11, 11/), &
    435     'SWupTOAclr', 'SWup clear sky at TOA', 'W/m2', (/ ('', i=1, 10) /))
     432          'SWupTOAclr', 'SWup clear sky at TOA', 'W/m2', (/ ('', i = 1, 10) /))
    436433  TYPE(ctrl_out), SAVE :: o_SWupTOAcleanclr = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
    437     'SWupTOAcleanclr', 'SWup clear sky clean (no aerosol) at TOA', 'W/m2', (/ ('', i=1, 10) /))
     434          'SWupTOAcleanclr', 'SWup clear sky clean (no aerosol) at TOA', 'W/m2', (/ ('', i = 1, 10) /))
    438435  TYPE(ctrl_out), SAVE :: o_SWdnTOA = ctrl_out((/ 1, 4, 10, 10, 10, 10, 11, 11, 11, 11/), &
    439     'SWdnTOA', 'SWdn at TOA', 'W/m2', (/ ('', i=1, 10) /))
     436          'SWdnTOA', 'SWdn at TOA', 'W/m2', (/ ('', i = 1, 10) /))
    440437  TYPE(ctrl_out), SAVE :: o_SWdnTOAclr = ctrl_out((/ 1, 4, 10, 10, 10, 10, 11, 11, 11, 11/), &
    441     'SWdnTOAclr', 'SWdn clear sky at TOA', 'W/m2', (/ ('', i=1, 10) /))
     438          'SWdnTOAclr', 'SWdn clear sky at TOA', 'W/m2', (/ ('', i = 1, 10) /))
    442439  TYPE(ctrl_out), SAVE :: o_nettop = ctrl_out((/ 1, 4, 10, 10, 10, 10, 11, 11, 11, 11/), &
    443     'nettop', 'Net dn radiatif flux at TOA', 'W/m2', (/ ('', i=1, 10) /))
     440          'nettop', 'Net dn radiatif flux at TOA', 'W/m2', (/ ('', i = 1, 10) /))
    444441  TYPE(ctrl_out), SAVE :: o_SWup200 = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    445     'SWup200', 'SWup at 200mb', 'W/m2', (/ ('', i=1, 10) /))
     442          'SWup200', 'SWup at 200mb', 'W/m2', (/ ('', i = 1, 10) /))
    446443  TYPE(ctrl_out), SAVE :: o_SWup200clr = ctrl_out((/ 10, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
    447     'SWup200clr', 'SWup clear sky at 200mb', 'W/m2', (/ ('', i=1, 10) /))
     444          'SWup200clr', 'SWup clear sky at 200mb', 'W/m2', (/ ('', i = 1, 10) /))
    448445  TYPE(ctrl_out), SAVE :: o_SWdn200 = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    449     'SWdn200', 'SWdn at 200mb', 'W/m2', (/ ('', i=1, 10) /))
     446          'SWdn200', 'SWdn at 200mb', 'W/m2', (/ ('', i = 1, 10) /))
    450447  TYPE(ctrl_out), SAVE :: o_SWdn200clr = ctrl_out((/ 10, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
    451     'SWdn200clr', 'SWdn clear sky at 200mb', 'W/m2', (/ ('', i=1, 10) /))
     448          'SWdn200clr', 'SWdn clear sky at 200mb', 'W/m2', (/ ('', i = 1, 10) /))
    452449
    453450  ! arajouter
     
    461458  !    (/ ('', i=1, 10) /))
    462459  TYPE(ctrl_out), SAVE :: o_LWup200 = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    463     'LWup200', 'LWup at 200mb', 'W/m2', (/ ('', i=1, 10) /))
     460          'LWup200', 'LWup at 200mb', 'W/m2', (/ ('', i = 1, 10) /))
    464461  TYPE(ctrl_out), SAVE :: o_LWup200clr = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    465     'LWup200clr', 'LWup clear sky at 200mb', 'W/m2', (/ ('', i=1, 10) /))
     462          'LWup200clr', 'LWup clear sky at 200mb', 'W/m2', (/ ('', i = 1, 10) /))
    466463  TYPE(ctrl_out), SAVE :: o_LWdn200 = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    467     'LWdn200', 'LWdn at 200mb', 'W/m2', (/ ('', i=1, 10) /))
     464          'LWdn200', 'LWdn at 200mb', 'W/m2', (/ ('', i = 1, 10) /))
    468465  TYPE(ctrl_out), SAVE :: o_LWdn200clr = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    469     'LWdn200clr', 'LWdn clear sky at 200mb', 'W/m2', (/ ('', i=1, 10) /))
     466          'LWdn200clr', 'LWdn clear sky at 200mb', 'W/m2', (/ ('', i = 1, 10) /))
    470467  TYPE(ctrl_out), SAVE :: o_sols = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
    471     'sols', 'Solar rad. at surf.', 'W/m2', (/ ('', i=1, 10) /))
     468          'sols', 'Solar rad. at surf.', 'W/m2', (/ ('', i = 1, 10) /))
    472469  TYPE(ctrl_out), SAVE :: o_sols0 = ctrl_out((/ 1, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
    473     'sols0', 'Solar rad. at surf.', 'W/m2', (/ ('', i=1, 10) /))
     470          'sols0', 'Solar rad. at surf.', 'W/m2', (/ ('', i = 1, 10) /))
    474471  TYPE(ctrl_out), SAVE :: o_soll = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
    475     'soll', 'IR rad. at surface', 'W/m2', (/ ('', i=1, 10) /))
     472          'soll', 'IR rad. at surface', 'W/m2', (/ ('', i = 1, 10) /))
    476473  TYPE(ctrl_out), SAVE :: o_soll0 = ctrl_out((/ 1, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
    477     'soll0', 'IR rad. at surface', 'W/m2', (/ ('', i=1, 10) /))
     474          'soll0', 'IR rad. at surface', 'W/m2', (/ ('', i = 1, 10) /))
    478475  TYPE(ctrl_out), SAVE :: o_radsol = ctrl_out((/ 1, 7, 10, 10, 10, 10, 11, 11, 11, 11/), &
    479     'radsol', 'Rayonnement au sol', 'W/m2', (/ ('', i=1, 10) /))
     476          'radsol', 'Rayonnement au sol', 'W/m2', (/ ('', i = 1, 10) /))
    480477  TYPE(ctrl_out), SAVE :: o_SWupSFC = ctrl_out((/ 1, 4, 10, 10, 5, 10, 11, 11, 11, 11/), &
    481     'SWupSFC', 'SWup at surface', 'W/m2', (/ ('', i=1, 10) /))
     478          'SWupSFC', 'SWup at surface', 'W/m2', (/ ('', i = 1, 10) /))
    482479  TYPE(ctrl_out), SAVE :: o_SWupSFCclr = ctrl_out((/ 1, 4, 10, 10, 5, 10, 11, 11, 11, 11/), &
    483     'SWupSFCclr', 'SWup clear sky at surface', 'W/m2', (/ ('', i=1, 10) /))
     480          'SWupSFCclr', 'SWup clear sky at surface', 'W/m2', (/ ('', i = 1, 10) /))
    484481  TYPE(ctrl_out), SAVE :: o_SWupSFCcleanclr = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
    485     'SWupSFCcleanclr', 'SWup clear sky clean (no aerosol) at surface', 'W/m2', (/ ('', i=1, 10) /))
     482          'SWupSFCcleanclr', 'SWup clear sky clean (no aerosol) at surface', 'W/m2', (/ ('', i = 1, 10) /))
    486483  TYPE(ctrl_out), SAVE :: o_fdiffSWdnSFC = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
    487     'fdiffSWdnSFC', 'Fraction of diffuse SWdn at surface', 'W/m2', (/ ('', i=1, 10) /))
     484          'fdiffSWdnSFC', 'Fraction of diffuse SWdn at surface', 'W/m2', (/ ('', i = 1, 10) /))
    488485  TYPE(ctrl_out), SAVE :: o_SWdnSFC = ctrl_out((/ 1, 1, 1, 10, 5, 10, 11, 11, 11, 11/), &
    489     'SWdnSFC', 'SWdn at surface', 'W/m2', (/ ('', i=1, 10) /))
     486          'SWdnSFC', 'SWdn at surface', 'W/m2', (/ ('', i = 1, 10) /))
    490487  TYPE(ctrl_out), SAVE :: o_SWdnSFCclr = ctrl_out((/ 1, 4, 10, 10, 5, 10, 11, 11, 11, 11/), &
    491     'SWdnSFCclr', 'SWdn clear sky at surface', 'W/m2', (/ ('', i=1, 10) /))
     488          'SWdnSFCclr', 'SWdn clear sky at surface', 'W/m2', (/ ('', i = 1, 10) /))
    492489  TYPE(ctrl_out), SAVE :: o_SWdnSFCcleanclr = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
    493     'SWdnSFCcleanclr', 'SWdn clear sky clean (no aerosol) at surface', 'W/m2', (/ ('', i=1, 10) /))
     490          'SWdnSFCcleanclr', 'SWdn clear sky clean (no aerosol) at surface', 'W/m2', (/ ('', i = 1, 10) /))
    494491  TYPE(ctrl_out), SAVE :: o_LWupSFC = ctrl_out((/ 1, 4, 10, 10, 5, 10, 11, 11, 11, 11/), &
    495     'LWupSFC', 'Upwd. IR rad. at surface', 'W/m2', (/ ('', i=1, 10) /))
     492          'LWupSFC', 'Upwd. IR rad. at surface', 'W/m2', (/ ('', i = 1, 10) /))
    496493  TYPE(ctrl_out), SAVE :: o_LWupSFCclr = ctrl_out((/ 1, 4, 10, 10, 5, 10, 11, 11, 11, 11/), &
    497     'LWupSFCclr', 'CS Upwd. IR rad. at surface', 'W/m2', (/ ('', i=1, 10) /))
     494          'LWupSFCclr', 'CS Upwd. IR rad. at surface', 'W/m2', (/ ('', i = 1, 10) /))
    498495  TYPE(ctrl_out), SAVE :: o_LWdnSFC = ctrl_out((/ 1, 4, 10, 10, 5, 10, 11, 11, 11, 11/), &
    499     'LWdnSFC', 'Down. IR rad. at surface', 'W/m2', (/ ('', i=1, 10) /))
     496          'LWdnSFC', 'Down. IR rad. at surface', 'W/m2', (/ ('', i = 1, 10) /))
    500497  TYPE(ctrl_out), SAVE :: o_LWdnSFCclr = ctrl_out((/ 1, 4, 10, 10, 5, 10, 11, 11, 11, 11/), &
    501     'LWdnSFCclr', 'Down. CS IR rad. at surface', 'W/m2', (/ ('', i=1, 10) /))
     498          'LWdnSFCclr', 'Down. CS IR rad. at surface', 'W/m2', (/ ('', i = 1, 10) /))
    502499  TYPE(ctrl_out), SAVE :: o_LWupTOAcleanclr = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
    503     'LWupTOAcleanclr', 'Upward CS clean (no aerosol) IR rad. at TOA', 'W/m2', (/ ('', i=1, 10) /))
     500          'LWupTOAcleanclr', 'Upward CS clean (no aerosol) IR rad. at TOA', 'W/m2', (/ ('', i = 1, 10) /))
    504501  TYPE(ctrl_out), SAVE :: o_LWdnSFCcleanclr = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
    505     'LWdnSFCcleanclr', 'Downward CS clean (no aerosol) IR rad. at surface', 'W/m2', (/ ('', i=1, 10) /))
     502          'LWdnSFCcleanclr', 'Downward CS clean (no aerosol) IR rad. at surface', 'W/m2', (/ ('', i = 1, 10) /))
    506503  TYPE(ctrl_out), SAVE :: o_bils = ctrl_out((/ 1, 2, 10, 5, 10, 10, 11, 11, 11, 11/), &
    507     'bils', 'Surf. total heat flux', 'W/m2', (/ ('', i=1, 10) /))
     504          'bils', 'Surf. total heat flux', 'W/m2', (/ ('', i = 1, 10) /))
    508505  TYPE(ctrl_out), SAVE :: o_bils_tke = ctrl_out((/ 1, 2, 10, 5, 10, 10, 11, 11, 11, 11/), &
    509     'bils_tke', 'Surf. total heat flux', 'W/m2', (/ ('', i=1, 10) /))
     506          'bils_tke', 'Surf. total heat flux', 'W/m2', (/ ('', i = 1, 10) /))
    510507  TYPE(ctrl_out), SAVE :: o_bils_diss = ctrl_out((/ 1, 2, 10, 5, 10, 10, 11, 11, 11, 11/), &
    511     'bils_diss', 'Surf. total heat flux', 'W/m2', (/ ('', i=1, 10) /))
     508          'bils_diss', 'Surf. total heat flux', 'W/m2', (/ ('', i = 1, 10) /))
    512509  TYPE(ctrl_out), SAVE :: o_bils_ec = ctrl_out((/ 1, 2, 10, 5, 10, 10, 11, 11, 11, 11/), &
    513     'bils_ec', 'Surf. total heat flux correction', 'W/m2', (/ ('', i=1, 10) /))
     510          'bils_ec', 'Surf. total heat flux correction', 'W/m2', (/ ('', i = 1, 10) /))
    514511  TYPE(ctrl_out), SAVE :: o_bils_ech = ctrl_out((/ 1, 2, 10, 5, 10, 10, 11, 11, 11, 11/), &
    515     'bils_ech', 'Surf. total heat flux correction', 'W/m2', (/ ('', i=1, 10) /))
     512          'bils_ech', 'Surf. total heat flux correction', 'W/m2', (/ ('', i = 1, 10) /))
    516513  TYPE(ctrl_out), SAVE :: o_bils_kinetic = ctrl_out((/ 1, 2, 10, 5, 10, 10, 11, 11, 11, 11/), &
    517     'bils_kinetic', 'Surf. total heat flux', 'W/m2', (/ ('', i=1, 10) /))
     514          'bils_kinetic', 'Surf. total heat flux', 'W/m2', (/ ('', i = 1, 10) /))
    518515  TYPE(ctrl_out), SAVE :: o_bils_enthalp = ctrl_out((/ 1, 2, 10, 5, 10, 10, 11, 11, 11, 11/), &
    519     'bils_enthalp', 'Surf. total heat flux', 'W/m2', (/ ('', i=1, 10) /))
     516          'bils_enthalp', 'Surf. total heat flux', 'W/m2', (/ ('', i = 1, 10) /))
    520517  TYPE(ctrl_out), SAVE :: o_bils_latent = ctrl_out((/ 1, 2, 10, 5, 10, 10, 11, 11, 11, 11/), &
    521     'bils_latent', 'Surf. total heat flux', 'W/m2', (/ ('', i=1, 10) /))
     518          'bils_latent', 'Surf. total heat flux', 'W/m2', (/ ('', i = 1, 10) /))
    522519  TYPE(ctrl_out), SAVE :: o_sens = ctrl_out((/ 1, 1, 10, 10, 5, 10, 11, 11, 11, 11/), &
    523     'sens', 'Sensible heat flux', 'W/m2', (/ ('', i=1, 10) /))
     520          'sens', 'Sensible heat flux', 'W/m2', (/ ('', i = 1, 10) /))
    524521  TYPE(ctrl_out), SAVE :: o_fder = ctrl_out((/ 1, 2, 10, 10, 10, 10, 11, 11, 11, 11/), &
    525     'fder', 'Heat flux derivation', 'W/m2', (/ ('', i=1, 10) /))
     522          'fder', 'Heat flux derivation', 'W/m2', (/ ('', i = 1, 10) /))
    526523  TYPE(ctrl_out), SAVE :: o_ffonte = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    527     'ffonte', 'Thermal flux for snow melting', 'W/m2', (/ ('', i=1, 10) /))
     524          'ffonte', 'Thermal flux for snow melting', 'W/m2', (/ ('', i = 1, 10) /))
    528525  TYPE(ctrl_out), SAVE :: o_fqcalving = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    529     'fqcalving', 'Ice Calving', 'kg/m2/s', (/ ('', i=1, 10) /))
     526          'fqcalving', 'Ice Calving', 'kg/m2/s', (/ ('', i = 1, 10) /))
    530527  TYPE(ctrl_out), SAVE :: o_fqfonte = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    531     'fqfonte', 'Land ice melt', 'kg/m2/s', (/ ('', i=1, 10) /))
     528          'fqfonte', 'Land ice melt', 'kg/m2/s', (/ ('', i = 1, 10) /))
    532529  TYPE(ctrl_out), SAVE :: o_mrroli = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    533     'mrroli', 'Runoff flux over land ice', 'kg/m2/s', (/ ('', i=1, 10) /))
     530          'mrroli', 'Runoff flux over land ice', 'kg/m2/s', (/ ('', i = 1, 10) /))
    534531  TYPE(ctrl_out), SAVE :: o_runofflic = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    535     'runofflic', 'Land ice melt to ocean', 'kg/m2/s', (/ ('', i=1, 10) /))
     532          'runofflic', 'Land ice melt to ocean', 'kg/m2/s', (/ ('', i = 1, 10) /))
    536533  TYPE(ctrl_out), SAVE :: o_taux = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    537     'taux', 'Zonal wind stress', 'Pa', (/ ('', i=1, 10) /))
     534          'taux', 'Zonal wind stress', 'Pa', (/ ('', i = 1, 10) /))
    538535  TYPE(ctrl_out), SAVE :: o_tauy = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    539     'tauy', 'Meridional wind stress', 'Pa', (/ ('', i=1, 10) /))
    540 
    541 !AI Ecrad 3Deffect
     536          'tauy', 'Meridional wind stress', 'Pa', (/ ('', i = 1, 10) /))
     537
     538  !AI Ecrad 3Deffect
    542539#ifdef CPP_ECRAD
    543540  TYPE(ctrl_out), SAVE :: o_cloud_cover_sw = ctrl_out((/ 11, 11, 10, 10, 10, 10, 11, 11, 11, 11/), &
     
    619616
    620617  TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_taux_srf = (/           &
    621       ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'taux_ter',            &
    622       "Zonal wind stress"//clnsurf(1), "Pa", (/ ('', i=1, 10) /)), &
    623       ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'taux_lic',            &
    624       "Zonal wind stress"//clnsurf(2), "Pa", (/ ('', i=1, 10) /)), &
    625       ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'taux_oce',            &
    626       "Zonal wind stress"//clnsurf(3), "Pa", (/ ('', i=1, 10) /)), &
    627       ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'taux_sic',            &
    628       "Zonal wind stress"//clnsurf(4), "Pa", (/ ('', i=1, 10) /)) /)
    629 
    630   TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_tauy_srf     = (/             &
    631       ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'tauy_ter',                  &
    632       "Meridional wind stress "//clnsurf(1),"Pa", (/ ('', i=1, 10) /)), &
    633       ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'tauy_lic',                  &
    634       "Meridional wind stress "//clnsurf(2),"Pa", (/ ('', i=1, 10) /)), &
    635       ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'tauy_oce',                  &
    636       "Meridional wind stress "//clnsurf(3),"Pa", (/ ('', i=1, 10) /)), &
    637       ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'tauy_sic',                  &
    638       "Meridional wind stress "//clnsurf(4),"Pa", (/ ('', i=1, 10) /)) /)
    639 
    640   TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_pourc_srf    = (/ &
    641       ctrl_out((/ 1, 7, 10, 10, 10, 10, 11, 11, 11, 11/),'pourc_ter',      &
    642       "% "//clnsurf(1),"%", (/ ('', i=1, 10) /)),            &
    643       ctrl_out((/ 1, 7, 10, 10, 10, 10, 11, 11, 11, 11/),'pourc_lic',      &
    644       "% "//clnsurf(2),"%", (/ ('', i=1, 10) /)),            &
    645       ctrl_out((/ 1, 7, 10, 10, 10, 10, 11, 11, 11, 11/),'pourc_oce',      &
    646       "% "//clnsurf(3),"%", (/ ('', i=1, 10) /)),            &
    647       ctrl_out((/ 1, 7, 10, 10, 10, 10, 11, 11, 11, 11/),'pourc_sic',      &
    648       "% "//clnsurf(4),"%", (/ ('', i=1, 10) /)) /)
    649 
    650   TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_fract_srf    = (/ &
    651       ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'fract_ter',      &
    652       "Fraction "//clnsurf(1),"1", (/ ('', i=1, 10) /)),    &
    653       ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'fract_lic',      &
    654       "Fraction "//clnsurf(2),"1", (/ ('', i=1, 10) /)),    &
    655       ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'fract_oce',      &
    656       "Fraction "//clnsurf(3),"1", (/ ('', i=1, 10) /)),    &
    657       ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'fract_sic',      &
    658       "Fraction "//clnsurf(4),"1", (/ ('', i=1, 10) /)) /)
    659 
    660   TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_tsol_srf     = (/ &
    661       ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'tsol_ter',      &
    662       "Temperature "//clnsurf(1),"K", (/ ('', i=1, 10) /)), &
    663       ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'tsol_lic',      &
    664       "Temperature "//clnsurf(2),"K", (/ ('', i=1, 10) /)), &
    665       ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'tsol_oce',      &
    666       "Temperature "//clnsurf(3),"K", (/ ('', i=1, 10) /)), &
    667       ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'tsol_sic',      &
    668       "Temperature "//clnsurf(4),"K", (/ ('', i=1, 10) /)) /)
    669 
    670   TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_evappot_srf  = (/ &
    671       ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'evappot_ter',    &
    672       "Potential evaporation "//clnsurf(1),"kg/(m2*s)", (/ ('', i=1, 10) /)),  &
    673       ctrl_out((/ 4, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'evappot_lic',    &
    674       "Potential evaporation "//clnsurf(2),"kg/(m2*s)", (/ ('', i=1, 10) /)),  &
    675       ctrl_out((/ 4, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'evappot_oce',    &
    676       "Potential evaporation "//clnsurf(3),"kg/(m2*s)", (/ ('', i=1, 10) /)),  &
    677       ctrl_out((/ 4, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'evappot_sic',    &
    678       "Potential evaporation "//clnsurf(4),"kg/(m2*s)", (/ ('', i=1, 10) /)) /)
    679 
    680   TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_sens_srf     = (/          &
    681       ctrl_out((/ 1, 6, 10, 7, 10, 10, 11, 11, 11, 11/),'sens_ter',                &
    682       "Sensible heat flux "//clnsurf(1),"W/m2", (/ ('', i=1, 10) /)), &
    683       ctrl_out((/ 1, 6, 10, 7, 10, 10, 11, 11, 11, 11/),'sens_lic',                &
    684       "Sensible heat flux "//clnsurf(2),"W/m2", (/ ('', i=1, 10) /)), &
    685       ctrl_out((/ 1, 6, 10, 7, 10, 10, 11, 11, 11, 11/),'sens_oce',                &
    686       "Sensible heat flux "//clnsurf(3),"W/m2", (/ ('', i=1, 10) /)), &
    687       ctrl_out((/ 1, 6, 10, 7, 10, 10, 11, 11, 11, 11/),'sens_sic',                &
    688       "Sensible heat flux "//clnsurf(4),"W/m2", (/ ('', i=1, 10) /)) /)
    689 
    690   TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_lat_srf      = (/        &
    691       ctrl_out((/ 1, 6, 10, 7, 10, 10, 11, 11, 11, 11/),'lat_ter',                &
    692       "Latent heat flux "//clnsurf(1),"W/m2", (/ ('', i=1, 10) /)), &
    693       ctrl_out((/ 1, 6, 10, 7, 10, 10, 11, 11, 11, 11/),'lat_lic',                &
    694       "Latent heat flux "//clnsurf(2),"W/m2", (/ ('', i=1, 10) /)), &
    695       ctrl_out((/ 1, 6, 10, 7, 10, 10, 11, 11, 11, 11/),'lat_oce',                &
    696       "Latent heat flux "//clnsurf(3),"W/m2", (/ ('', i=1, 10) /)), &
    697       ctrl_out((/ 1, 6, 10, 7, 10, 10, 11, 11, 11, 11/),'lat_sic',                &
    698       "Latent heat flux "//clnsurf(4),"W/m2", (/ ('', i=1, 10) /)) /)
    699 
    700   TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_flw_srf      = (/ &
    701       ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'flw_ter',      &
    702       "LW "//clnsurf(1),"W/m2", (/ ('', i=1, 10) /)),        &
    703       ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'flw_lic',      &
    704       "LW "//clnsurf(2),"W/m2", (/ ('', i=1, 10) /)),        &
    705       ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'flw_oce',      &
    706       "LW "//clnsurf(3),"W/m2", (/ ('', i=1, 10) /)),        &
    707       ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'flw_sic',      &
    708       "LW "//clnsurf(4),"W/m2", (/ ('', i=1, 10) /)) /)
    709 
    710   TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_fsw_srf      = (/ &
    711       ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'fsw_ter',      &
    712       "SW "//clnsurf(1),"W/m2", (/ ('', i=1, 10) /)),        &
    713       ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'fsw_lic',      &
    714       "SW "//clnsurf(2),"W/m2", (/ ('', i=1, 10) /)),        &
    715       ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'fsw_oce',      &
    716       "SW "//clnsurf(3),"W/m2", (/ ('', i=1, 10) /)),        &
    717       ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'fsw_sic',      &
    718       "SW "//clnsurf(4),"W/m2", (/ ('', i=1, 10) /)) /)
    719 
    720   TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_wbils_srf    = (/ &
    721       ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'wbils_ter',    &
    722       "Bilan sol "//clnsurf(1),"W/m2", (/ ('', i=1, 10) /)), &
    723       ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'wbils_lic',    &
    724       "Bilan sol "//clnsurf(2),"W/m2", (/ ('', i=1, 10) /)), &
    725       ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'wbils_oce',    &
    726       "Bilan sol "//clnsurf(3),"W/m2", (/ ('', i=1, 10) /)), &
    727       ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'wbils_sic',    &
    728       "Bilan sol "//clnsurf(4),"W/m2", (/ ('', i=1, 10) /)) /)
    729 
    730   TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_wbilo_srf    = (/      &
    731       ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'wbilo_ter',          &
    732       "Bilan eau "//clnsurf(1),"kg/(m2*s)", (/ ('', i=1, 10) /)), &
    733       ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'wbilo_lic',          &
    734       "Bilan eau "//clnsurf(2),"kg/(m2*s)", (/ ('', i=1, 10) /)), &
    735       ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'wbilo_oce',          &
    736       "Bilan eau "//clnsurf(3),"kg/(m2*s)", (/ ('', i=1, 10) /)), &
    737       ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'wbilo_sic',          &
    738       "Bilan eau "//clnsurf(4),"kg/(m2*s)", (/ ('', i=1, 10) /)) /)
    739 
    740   TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_wevap_srf    = (/      &
    741       ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'wevap_ter',          &
    742       "Evap eau "//clnsurf(1),"kg/(m2*s)", (/ ('', i=1, 10) /)), &
    743       ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'wevap_lic',          &
    744       "Evap eau "//clnsurf(2),"kg/(m2*s)", (/ ('', i=1, 10) /)), &
    745       ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'wevap_oce',          &
    746       "Evap eau "//clnsurf(3),"kg/(m2*s)", (/ ('', i=1, 10) /)), &
    747       ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'wevap_sic',          &
    748       "Evap eau "//clnsurf(4),"kg/(m2*s)", (/ ('', i=1, 10) /)) /)
    749 
    750   TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_wrain_srf    = (/      &
    751       ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'wrain_ter',          &
    752       "Pluie eau "//clnsurf(1),"kg/(m2*s)", (/ ('', i=1, 10) /)), &
    753       ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'wrain_lic',          &
    754       "Pluie eau "//clnsurf(2),"kg/(m2*s)", (/ ('', i=1, 10) /)), &
    755       ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'wrain_oce',          &
    756       "Pluie eau "//clnsurf(3),"kg/(m2*s)", (/ ('', i=1, 10) /)), &
    757       ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'wrain_sic',          &
    758       "Pluie eau "//clnsurf(4),"kg/(m2*s)", (/ ('', i=1, 10) /)) /)
    759 
    760   TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_wsnow_srf    = (/      &
    761       ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'wsnow_ter',          &
    762       "Neige eau "//clnsurf(1),"kg/(m2*s)", (/ ('', i=1, 10) /)), &
    763       ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'wsnow_lic',          &
    764       "Neige eau "//clnsurf(2),"kg/(m2*s)", (/ ('', i=1, 10) /)), &
    765       ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'wsnow_oce',          &
    766       "Neige eau "//clnsurf(3),"kg/(m2*s)", (/ ('', i=1, 10) /)), &
    767       ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'wsnow_sic',          &
    768       "Neige eau "//clnsurf(4),"kg/(m2*s)", (/ ('', i=1, 10) /)) /)
     618          ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'taux_ter', &
     619                  "Zonal wind stress" // clnsurf(1), "Pa", (/ ('', i = 1, 10) /)), &
     620                  ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'taux_lic', &
     621                          "Zonal wind stress" // clnsurf(2), "Pa", (/ ('', i = 1, 10) /)), &
     622                  ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'taux_oce', &
     623                          "Zonal wind stress" // clnsurf(3), "Pa", (/ ('', i = 1, 10) /)), &
     624                  ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'taux_sic', &
     625                          "Zonal wind stress" // clnsurf(4), "Pa", (/ ('', i = 1, 10) /)) /)
     626
     627  TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_tauy_srf = (/             &
     628          ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'tauy_ter', &
     629                  "Meridional wind stress " // clnsurf(1), "Pa", (/ ('', i = 1, 10) /)), &
     630                  ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'tauy_lic', &
     631                          "Meridional wind stress " // clnsurf(2), "Pa", (/ ('', i = 1, 10) /)), &
     632                  ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'tauy_oce', &
     633                          "Meridional wind stress " // clnsurf(3), "Pa", (/ ('', i = 1, 10) /)), &
     634                  ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'tauy_sic', &
     635                          "Meridional wind stress " // clnsurf(4), "Pa", (/ ('', i = 1, 10) /)) /)
     636
     637  TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_pourc_srf = (/ &
     638          ctrl_out((/ 1, 7, 10, 10, 10, 10, 11, 11, 11, 11/), 'pourc_ter', &
     639                  "% " // clnsurf(1), "%", (/ ('', i = 1, 10) /)), &
     640                  ctrl_out((/ 1, 7, 10, 10, 10, 10, 11, 11, 11, 11/), 'pourc_lic', &
     641                          "% " // clnsurf(2), "%", (/ ('', i = 1, 10) /)), &
     642                  ctrl_out((/ 1, 7, 10, 10, 10, 10, 11, 11, 11, 11/), 'pourc_oce', &
     643                          "% " // clnsurf(3), "%", (/ ('', i = 1, 10) /)), &
     644                  ctrl_out((/ 1, 7, 10, 10, 10, 10, 11, 11, 11, 11/), 'pourc_sic', &
     645                          "% " // clnsurf(4), "%", (/ ('', i = 1, 10) /)) /)
     646
     647  TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_fract_srf = (/ &
     648          ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'fract_ter', &
     649                  "Fraction " // clnsurf(1), "1", (/ ('', i = 1, 10) /)), &
     650                  ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'fract_lic', &
     651                          "Fraction " // clnsurf(2), "1", (/ ('', i = 1, 10) /)), &
     652                  ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'fract_oce', &
     653                          "Fraction " // clnsurf(3), "1", (/ ('', i = 1, 10) /)), &
     654                  ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'fract_sic', &
     655                          "Fraction " // clnsurf(4), "1", (/ ('', i = 1, 10) /)) /)
     656
     657  TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_tsol_srf = (/ &
     658          ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'tsol_ter', &
     659                  "Temperature " // clnsurf(1), "K", (/ ('', i = 1, 10) /)), &
     660                  ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'tsol_lic', &
     661                          "Temperature " // clnsurf(2), "K", (/ ('', i = 1, 10) /)), &
     662                  ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'tsol_oce', &
     663                          "Temperature " // clnsurf(3), "K", (/ ('', i = 1, 10) /)), &
     664                  ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'tsol_sic', &
     665                          "Temperature " // clnsurf(4), "K", (/ ('', i = 1, 10) /)) /)
     666
     667  TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_evappot_srf = (/ &
     668          ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'evappot_ter', &
     669                  "Potential evaporation " // clnsurf(1), "kg/(m2*s)", (/ ('', i = 1, 10) /)), &
     670                  ctrl_out((/ 4, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'evappot_lic', &
     671                          "Potential evaporation " // clnsurf(2), "kg/(m2*s)", (/ ('', i = 1, 10) /)), &
     672                  ctrl_out((/ 4, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'evappot_oce', &
     673                          "Potential evaporation " // clnsurf(3), "kg/(m2*s)", (/ ('', i = 1, 10) /)), &
     674                  ctrl_out((/ 4, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'evappot_sic', &
     675                          "Potential evaporation " // clnsurf(4), "kg/(m2*s)", (/ ('', i = 1, 10) /)) /)
     676
     677  TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_sens_srf = (/          &
     678          ctrl_out((/ 1, 6, 10, 7, 10, 10, 11, 11, 11, 11/), 'sens_ter', &
     679                  "Sensible heat flux " // clnsurf(1), "W/m2", (/ ('', i = 1, 10) /)), &
     680                  ctrl_out((/ 1, 6, 10, 7, 10, 10, 11, 11, 11, 11/), 'sens_lic', &
     681                          "Sensible heat flux " // clnsurf(2), "W/m2", (/ ('', i = 1, 10) /)), &
     682                  ctrl_out((/ 1, 6, 10, 7, 10, 10, 11, 11, 11, 11/), 'sens_oce', &
     683                          "Sensible heat flux " // clnsurf(3), "W/m2", (/ ('', i = 1, 10) /)), &
     684                  ctrl_out((/ 1, 6, 10, 7, 10, 10, 11, 11, 11, 11/), 'sens_sic', &
     685                          "Sensible heat flux " // clnsurf(4), "W/m2", (/ ('', i = 1, 10) /)) /)
     686
     687  TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_lat_srf = (/        &
     688          ctrl_out((/ 1, 6, 10, 7, 10, 10, 11, 11, 11, 11/), 'lat_ter', &
     689                  "Latent heat flux " // clnsurf(1), "W/m2", (/ ('', i = 1, 10) /)), &
     690                  ctrl_out((/ 1, 6, 10, 7, 10, 10, 11, 11, 11, 11/), 'lat_lic', &
     691                          "Latent heat flux " // clnsurf(2), "W/m2", (/ ('', i = 1, 10) /)), &
     692                  ctrl_out((/ 1, 6, 10, 7, 10, 10, 11, 11, 11, 11/), 'lat_oce', &
     693                          "Latent heat flux " // clnsurf(3), "W/m2", (/ ('', i = 1, 10) /)), &
     694                  ctrl_out((/ 1, 6, 10, 7, 10, 10, 11, 11, 11, 11/), 'lat_sic', &
     695                          "Latent heat flux " // clnsurf(4), "W/m2", (/ ('', i = 1, 10) /)) /)
     696
     697  TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_flw_srf = (/ &
     698          ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'flw_ter', &
     699                  "LW " // clnsurf(1), "W/m2", (/ ('', i = 1, 10) /)), &
     700                  ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'flw_lic', &
     701                          "LW " // clnsurf(2), "W/m2", (/ ('', i = 1, 10) /)), &
     702                  ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'flw_oce', &
     703                          "LW " // clnsurf(3), "W/m2", (/ ('', i = 1, 10) /)), &
     704                  ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'flw_sic', &
     705                          "LW " // clnsurf(4), "W/m2", (/ ('', i = 1, 10) /)) /)
     706
     707  TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_fsw_srf = (/ &
     708          ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'fsw_ter', &
     709                  "SW " // clnsurf(1), "W/m2", (/ ('', i = 1, 10) /)), &
     710                  ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'fsw_lic', &
     711                          "SW " // clnsurf(2), "W/m2", (/ ('', i = 1, 10) /)), &
     712                  ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'fsw_oce', &
     713                          "SW " // clnsurf(3), "W/m2", (/ ('', i = 1, 10) /)), &
     714                  ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'fsw_sic', &
     715                          "SW " // clnsurf(4), "W/m2", (/ ('', i = 1, 10) /)) /)
     716
     717  TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_wbils_srf = (/ &
     718          ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'wbils_ter', &
     719                  "Bilan sol " // clnsurf(1), "W/m2", (/ ('', i = 1, 10) /)), &
     720                  ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'wbils_lic', &
     721                          "Bilan sol " // clnsurf(2), "W/m2", (/ ('', i = 1, 10) /)), &
     722                  ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'wbils_oce', &
     723                          "Bilan sol " // clnsurf(3), "W/m2", (/ ('', i = 1, 10) /)), &
     724                  ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'wbils_sic', &
     725                          "Bilan sol " // clnsurf(4), "W/m2", (/ ('', i = 1, 10) /)) /)
     726
     727  TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_wbilo_srf = (/      &
     728          ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'wbilo_ter', &
     729                  "Bilan eau " // clnsurf(1), "kg/(m2*s)", (/ ('', i = 1, 10) /)), &
     730                  ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'wbilo_lic', &
     731                          "Bilan eau " // clnsurf(2), "kg/(m2*s)", (/ ('', i = 1, 10) /)), &
     732                  ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'wbilo_oce', &
     733                          "Bilan eau " // clnsurf(3), "kg/(m2*s)", (/ ('', i = 1, 10) /)), &
     734                  ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'wbilo_sic', &
     735                          "Bilan eau " // clnsurf(4), "kg/(m2*s)", (/ ('', i = 1, 10) /)) /)
     736
     737  TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_wevap_srf = (/      &
     738          ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'wevap_ter', &
     739                  "Evap eau " // clnsurf(1), "kg/(m2*s)", (/ ('', i = 1, 10) /)), &
     740                  ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'wevap_lic', &
     741                          "Evap eau " // clnsurf(2), "kg/(m2*s)", (/ ('', i = 1, 10) /)), &
     742                  ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'wevap_oce', &
     743                          "Evap eau " // clnsurf(3), "kg/(m2*s)", (/ ('', i = 1, 10) /)), &
     744                  ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'wevap_sic', &
     745                          "Evap eau " // clnsurf(4), "kg/(m2*s)", (/ ('', i = 1, 10) /)) /)
     746
     747  TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_wrain_srf = (/      &
     748          ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'wrain_ter', &
     749                  "Pluie eau " // clnsurf(1), "kg/(m2*s)", (/ ('', i = 1, 10) /)), &
     750                  ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'wrain_lic', &
     751                          "Pluie eau " // clnsurf(2), "kg/(m2*s)", (/ ('', i = 1, 10) /)), &
     752                  ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'wrain_oce', &
     753                          "Pluie eau " // clnsurf(3), "kg/(m2*s)", (/ ('', i = 1, 10) /)), &
     754                  ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'wrain_sic', &
     755                          "Pluie eau " // clnsurf(4), "kg/(m2*s)", (/ ('', i = 1, 10) /)) /)
     756
     757  TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_wsnow_srf = (/      &
     758          ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'wsnow_ter', &
     759                  "Neige eau " // clnsurf(1), "kg/(m2*s)", (/ ('', i = 1, 10) /)), &
     760                  ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'wsnow_lic', &
     761                          "Neige eau " // clnsurf(2), "kg/(m2*s)", (/ ('', i = 1, 10) /)), &
     762                  ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'wsnow_oce', &
     763                          "Neige eau " // clnsurf(3), "kg/(m2*s)", (/ ('', i = 1, 10) /)), &
     764                  ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'wsnow_sic', &
     765                          "Neige eau " // clnsurf(4), "kg/(m2*s)", (/ ('', i = 1, 10) /)) /)
    769766
    770767  TYPE(ctrl_out), SAVE :: o_cdrm = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    771     'cdrm', 'Momentum drag coef.', '-', (/ ('', i=1, 10) /))
     768          'cdrm', 'Momentum drag coef.', '-', (/ ('', i = 1, 10) /))
    772769  TYPE(ctrl_out), SAVE :: o_cdrh = ctrl_out((/ 1, 10, 10, 7, 10, 10, 11, 11, 11, 11/), &
    773     'cdrh', 'Heat drag coef.', '-', (/ ('', i=1, 10) /))
     770          'cdrh', 'Heat drag coef.', '-', (/ ('', i = 1, 10) /))
    774771  TYPE(ctrl_out), SAVE :: o_cldl = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
    775     'cldl', 'Low-level cloudiness', '-', (/ ('', i=1, 10) /))
     772          'cldl', 'Low-level cloudiness', '-', (/ ('', i = 1, 10) /))
    776773  TYPE(ctrl_out), SAVE :: o_cldm = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
    777     'cldm', 'Mid-level cloudiness', '-', (/ ('', i=1, 10) /))
     774          'cldm', 'Mid-level cloudiness', '-', (/ ('', i = 1, 10) /))
    778775  TYPE(ctrl_out), SAVE :: o_cldh = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
    779     'cldh', 'High-level cloudiness', '-', (/ ('', i=1, 10) /))
     776          'cldh', 'High-level cloudiness', '-', (/ ('', i = 1, 10) /))
    780777  TYPE(ctrl_out), SAVE :: o_cldt = ctrl_out((/ 1, 1, 2, 10, 5, 10, 11, 11, 11, 11/), &
    781     'cldt', 'Total cloudiness', '-', (/ ('', i=1, 10) /))
     778          'cldt', 'Total cloudiness', '-', (/ ('', i = 1, 10) /))
    782779  TYPE(ctrl_out), SAVE :: o_JrNt = ctrl_out((/ 1, 1, 10, 7, 10, 10, 11, 11, 11, 11/), &
    783     'JrNt', '1 if Day 0 if Night', '-', (/ ('', i=1, 10) /))
     780          'JrNt', '1 if Day 0 if Night', '-', (/ ('', i = 1, 10) /))
    784781  TYPE(ctrl_out), SAVE :: o_cldhjn = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    785     'cldhjn', 'High-level cloudiness Day', '-', (/ ('', i=1, 10) /))
    786   TYPE(ctrl_out), SAVE :: o_cldmjn = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &     
    787     'cldmjn', 'Mid-level cloudiness day', '-', (/ ('', i=1, 10) /))
    788   TYPE(ctrl_out), SAVE :: o_cldljn = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &       
    789     'cldljn', 'Low-level cloudiness day', '-', (/ ('', i=1, 10) /))
    790   TYPE(ctrl_out), SAVE :: o_cldtjn = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &     
    791     'cldtjn', 'Total cloudiness day', '-', (/ ('', i=1, 10) /))
    792  
     782          'cldhjn', 'High-level cloudiness Day', '-', (/ ('', i = 1, 10) /))
     783  TYPE(ctrl_out), SAVE :: o_cldmjn = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     784          'cldmjn', 'Mid-level cloudiness day', '-', (/ ('', i = 1, 10) /))
     785  TYPE(ctrl_out), SAVE :: o_cldljn = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     786          'cldljn', 'Low-level cloudiness day', '-', (/ ('', i = 1, 10) /))
     787  TYPE(ctrl_out), SAVE :: o_cldtjn = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     788          'cldtjn', 'Total cloudiness day', '-', (/ ('', i = 1, 10) /))
     789
    793790  TYPE(ctrl_out), SAVE :: o_cldq = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
    794     'cldq', 'Cloud water path', 'kg/m2', (/ ('', i=1, 10) /))
     791          'cldq', 'Cloud water path', 'kg/m2', (/ ('', i = 1, 10) /))
    795792  TYPE(ctrl_out), SAVE :: o_lwp = ctrl_out((/ 1, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
    796     'lwp', 'Cloud liquid water path', 'kg/m2', (/ ('', i=1, 10) /))
     793          'lwp', 'Cloud liquid water path', 'kg/m2', (/ ('', i = 1, 10) /))
    797794  TYPE(ctrl_out), SAVE :: o_iwp = ctrl_out((/ 1, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
    798     'iwp', 'Cloud ice water path', 'kg/m2', (/ ('', i=1, 10) /))
     795          'iwp', 'Cloud ice water path', 'kg/m2', (/ ('', i = 1, 10) /))
    799796  TYPE(ctrl_out), SAVE :: o_ue = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    800     'ue', 'Zonal dry static energy transport', 'J/m/s', (/ ('', i=1, 10) /))
     797          'ue', 'Zonal dry static energy transport', 'J/m/s', (/ ('', i = 1, 10) /))
    801798  TYPE(ctrl_out), SAVE :: o_ve = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    802     've', 'Merid dry static energy transport', 'J/m/s', (/ ('', i=1, 10) /))
     799          've', 'Merid dry static energy transport', 'J/m/s', (/ ('', i = 1, 10) /))
    803800  TYPE(ctrl_out), SAVE :: o_uq = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    804     'uq', 'Zonal humidity transport', 'kg/m/s', (/ ('', i=1, 10) /))
     801          'uq', 'Zonal humidity transport', 'kg/m/s', (/ ('', i = 1, 10) /))
    805802  TYPE(ctrl_out), SAVE :: o_vq = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    806     'vq', 'Merid humidity transport', 'kg/m/s', (/ ('', i=1, 10) /))
     803          'vq', 'Merid humidity transport', 'kg/m/s', (/ ('', i = 1, 10) /))
    807804  TYPE(ctrl_out), SAVE :: o_uwat = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    808     'uwat', 'Zonal total water transport', 'kg/m/s', (/ ('', i=1, 10) /))
     805          'uwat', 'Zonal total water transport', 'kg/m/s', (/ ('', i = 1, 10) /))
    809806  TYPE(ctrl_out), SAVE :: o_vwat = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    810     'vwat', 'Merid total water transport', 'kg/m/s', (/ ('', i=1, 10) /))
     807          'vwat', 'Merid total water transport', 'kg/m/s', (/ ('', i = 1, 10) /))
    811808  TYPE(ctrl_out), SAVE :: o_cape = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    812     'cape', 'Conv avlbl pot ener', 'J/kg', (/ ('', i=1, 10) /))
     809          'cape', 'Conv avlbl pot ener', 'J/kg', (/ ('', i = 1, 10) /))
    813810  TYPE(ctrl_out), SAVE :: o_pbase = ctrl_out((/ 1, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
    814     'pbase', 'Cld base pressure', 'Pa', (/ ('', i=1, 10) /))
     811          'pbase', 'Cld base pressure', 'Pa', (/ ('', i = 1, 10) /))
    815812  TYPE(ctrl_out), SAVE :: o_ptop = ctrl_out((/ 1, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
    816     'ptop', 'Cld top pressure', 'Pa', (/ ('', i=1, 10) /))
     813          'ptop', 'Cld top pressure', 'Pa', (/ ('', i = 1, 10) /))
    817814  TYPE(ctrl_out), SAVE :: o_fbase = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    818     'fbase', 'Cld base mass flux', 'kg/m2/s', (/ ('', i=1, 10) /))
     815          'fbase', 'Cld base mass flux', 'kg/m2/s', (/ ('', i = 1, 10) /))
    819816  TYPE(ctrl_out), SAVE :: o_plcl = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    820     'plcl', 'Lifting Condensation Level', 'hPa', (/ ('', i=1, 10) /))
     817          'plcl', 'Lifting Condensation Level', 'hPa', (/ ('', i = 1, 10) /))
    821818  TYPE(ctrl_out), SAVE :: o_plfc = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    822     'plfc', 'Level of Free Convection', 'hPa', (/ ('', i=1, 10) /))
     819          'plfc', 'Level of Free Convection', 'hPa', (/ ('', i = 1, 10) /))
    823820  TYPE(ctrl_out), SAVE :: o_wbeff = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    824     'wbeff', 'Conv. updraft velocity at LFC (<100)', 'm/s', (/ ('', i=1, 10) /))
     821          'wbeff', 'Conv. updraft velocity at LFC (<100)', 'm/s', (/ ('', i = 1, 10) /))
    825822  TYPE(ctrl_out), SAVE :: o_convoccur = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    826     'convoccur', 'Convective occurence', '', (/ ('', i=1, 10) /))
     823          'convoccur', 'Convective occurence', '', (/ ('', i = 1, 10) /))
    827824  TYPE(ctrl_out), SAVE :: o_prw = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
    828     'prw', 'Precipitable water', 'kg/m2', (/ ('', i=1, 10) /))
     825          'prw', 'Precipitable water', 'kg/m2', (/ ('', i = 1, 10) /))
    829826  TYPE(ctrl_out), SAVE :: o_prlw = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
    830     'prlw', 'Precipitable liquid water', 'kg/m2', (/ ('', i=1, 10) /))
     827          'prlw', 'Precipitable liquid water', 'kg/m2', (/ ('', i = 1, 10) /))
    831828  TYPE(ctrl_out), SAVE :: o_prsw = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
    832     'prsw', 'Precipitable solid water', 'kg/m2', (/ ('', i=1, 10) /))
     829          'prsw', 'Precipitable solid water', 'kg/m2', (/ ('', i = 1, 10) /))
    833830  TYPE(ctrl_out), SAVE :: o_prbsw = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    834     'prbsw', 'Precipitable blowing snow', 'kg/m2', (/ ('', i=1, 10) /))
     831          'prbsw', 'Precipitable blowing snow', 'kg/m2', (/ ('', i = 1, 10) /))
    835832  TYPE(ctrl_out), SAVE :: o_water_budget = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
    836     'water_budget', 'Water budget', 'kg/m2', (/ ('', i=1, 10) /))
     833          'water_budget', 'Water budget', 'kg/m2', (/ ('', i = 1, 10) /))
    837834  TYPE(ctrl_out), SAVE :: o_s_pblh = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    838     's_pblh', 'Boundary Layer Height', 'm', (/ ('', i=1, 10) /))
     835          's_pblh', 'Boundary Layer Height', 'm', (/ ('', i = 1, 10) /))
    839836  TYPE(ctrl_out), SAVE :: o_s_pblt = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    840     's_pblt', 't at Boundary Layer Height', 'K', (/ ('', i=1, 10) /))
     837          's_pblt', 't at Boundary Layer Height', 'K', (/ ('', i = 1, 10) /))
    841838  TYPE(ctrl_out), SAVE :: o_s_lcl = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    842     's_lcl', 'Condensation level', 'm', (/ ('', i=1, 10) /))
     839          's_lcl', 'Condensation level', 'm', (/ ('', i = 1, 10) /))
    843840  TYPE(ctrl_out), SAVE :: o_s_therm = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    844     's_therm', 'Exces du thermique', 'K', (/ ('', i=1, 10) /))
     841          's_therm', 'Exces du thermique', 'K', (/ ('', i = 1, 10) /))
    845842  !IM : Les champs suivants (s_capCL, s_oliqCL, s_cteiCL, s_trmb1, s_trmb2, s_trmb3) ne sont pas definis dans HBTM.F
    846843  ! type(ctrl_out),save :: o_s_capCL      = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'s_capCL', &
    847 !    (/ ('', i=1, 10) /))
     844  !    (/ ('', i=1, 10) /))
    848845  ! type(ctrl_out),save :: o_s_oliqCL     = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'s_oliqCL', &
    849 !    (/ ('', i=1, 10) /))
     846  !    (/ ('', i=1, 10) /))
    850847  ! type(ctrl_out),save :: o_s_cteiCL     = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'s_cteiCL', &
    851 !    (/ ('', i=1, 10) /))
     848  !    (/ ('', i=1, 10) /))
    852849  ! type(ctrl_out),save :: o_s_trmb1      = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'s_trmb1', &
    853 !    (/ ('', i=1, 10) /))
     850  !    (/ ('', i=1, 10) /))
    854851  ! type(ctrl_out),save :: o_s_trmb2      = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'s_trmb2', &
    855 !    (/ ('', i=1, 10) /))
     852  !    (/ ('', i=1, 10) /))
    856853  ! type(ctrl_out),save :: o_s_trmb3      = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'s_trmb3', &
    857     !(/ ('', i=1, 10) /))
     854  !(/ ('', i=1, 10) /))
    858855  TYPE(ctrl_out), SAVE :: o_slab_bils = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
    859     'slab_bils', 'flux atmos - slab ponderes foce', 'W/m2', (/ ('', i=1, 10) /))
     856          'slab_bils', 'flux atmos - slab ponderes foce', 'W/m2', (/ ('', i = 1, 10) /))
    860857  TYPE(ctrl_out), SAVE :: o_slab_bilg = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
    861     'slab_bilg', 'flux glace - slab ponderes fsic', 'W/m2', (/ ('', i=1, 10) /))
     858          'slab_bilg', 'flux glace - slab ponderes fsic', 'W/m2', (/ ('', i = 1, 10) /))
    862859  TYPE(ctrl_out), SAVE :: o_slab_qflux = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
    863     'slab_qflux', 'Correction flux slab', 'W/m2', (/ ('', i=1, 10) /))
     860          'slab_qflux', 'Correction flux slab', 'W/m2', (/ ('', i = 1, 10) /))
    864861  TYPE(ctrl_out), SAVE :: o_tslab = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
    865     'tslab', 'Temperature ocean slab', 'K', (/ ('', i=1, 10) /))
     862          'tslab', 'Temperature ocean slab', 'K', (/ ('', i = 1, 10) /))
    866863  TYPE(ctrl_out), SAVE :: o_tslab1 = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11, 11 /), &
    867     'tslab1', 'Temperature ocean slab', 'K', (/ ('', i=1, 10) /))
     864          'tslab1', 'Temperature ocean slab', 'K', (/ ('', i = 1, 10) /))
    868865  TYPE(ctrl_out), SAVE :: o_tslab2 = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11, 11 /), &
    869     'tslab2', 'Temperature ocean slab', 'K', (/ ('', i=1, 10) /))
     866          'tslab2', 'Temperature ocean slab', 'K', (/ ('', i = 1, 10) /))
    870867  TYPE(ctrl_out), SAVE :: o_slab_tice = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
    871     'slab_tice', 'Temperature banquise slab', 'K', (/ ('', i=1, 10) /))
     868          'slab_tice', 'Temperature banquise slab', 'K', (/ ('', i = 1, 10) /))
    872869  TYPE(ctrl_out), SAVE :: o_slab_sic = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
    873     'seaice', 'Epaisseur banquise slab', 'kg/m2', (/ ('', i=1, 10) /))
     870          'seaice', 'Epaisseur banquise slab', 'kg/m2', (/ ('', i = 1, 10) /))
    874871  TYPE(ctrl_out), SAVE :: o_slab_hdiff = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
    875     'slab_hdiff', 'Horizontal diffusion', 'W/m2', (/ ('', i=1, 10) /))
     872          'slab_hdiff', 'Horizontal diffusion', 'W/m2', (/ ('', i = 1, 10) /))
    876873  TYPE(ctrl_out), SAVE :: o_slab_gm = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11, 11 /), &
    877     'slab_gm', 'GM eddy advection', 'W/m2', (/ ('', i=1, 10) /))
     874          'slab_gm', 'GM eddy advection', 'W/m2', (/ ('', i = 1, 10) /))
    878875  TYPE(ctrl_out), SAVE :: o_slab_ekman = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
    879     'slab_ekman', 'Ekman heat transport', 'W/m2', (/ ('', i=1, 10) /))
     876          'slab_ekman', 'Ekman heat transport', 'W/m2', (/ ('', i = 1, 10) /))
    880877  TYPE(ctrl_out), SAVE :: o_ale_bl = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11, 11/), &
    881     'ale_bl', 'ALE BL', 'm2/s2', (/ ('', i=1, 10) /))
     878          'ale_bl', 'ALE BL', 'm2/s2', (/ ('', i = 1, 10) /))
    882879  TYPE(ctrl_out), SAVE :: o_alp_bl = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11, 11/), &
    883     'alp_bl', 'ALP BL', 'W/m2', (/ ('', i=1, 10) /))
     880          'alp_bl', 'ALP BL', 'W/m2', (/ ('', i = 1, 10) /))
    884881  TYPE(ctrl_out), SAVE :: o_ale_wk = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11, 11/), &
    885     'ale_wk', 'ALE WK', 'm2/s2', (/ ('', i=1, 10) /))
     882          'ale_wk', 'ALE WK', 'm2/s2', (/ ('', i = 1, 10) /))
    886883  TYPE(ctrl_out), SAVE :: o_alp_wk = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11, 11/), &
    887     'alp_wk', 'ALP WK', 'W/m2', (/ ('', i=1, 10) /))
    888 !!!
    889 !nrlmd+jyg<
    890   type(ctrl_out),save :: o_dtvdf_x        = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    891     'dtvdf_x', ' dtvdf off_wake','K/s', (/ ('', i=1, 10) /))
    892   type(ctrl_out),save :: o_dtvdf_w        = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    893     'dtvdf_w', ' dtvdf within_wake','K/s', (/ ('', i=1, 10) /))
    894   type(ctrl_out),save :: o_dqvdf_x        = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    895     'dqvdf_x', ' dqvdf off_wake','kg/kg/s', (/ ('', i=1, 10) /))
    896   type(ctrl_out),save :: o_dqvdf_w        = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    897     'dqvdf_w', ' dqvdf within_wake','kg/kg/s', (/ ('', i=1, 10) /))
    898 !!
    899   type(ctrl_out),save :: o_sens_x        = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    900 'sens_x', 'sens off_wake', 'W/m2', (/ ('', i=1, 10) /))
    901   type(ctrl_out),save :: o_sens_w        = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    902 'sens_w', 'sens within_wake', 'W/m2', (/ ('', i=1, 10) /))
    903   type(ctrl_out),save :: o_flat_x        = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    904 'flat_x', 'flat off_wake', 'W/m2', (/ ('', i=1, 10) /))
    905   type(ctrl_out),save :: o_flat_w        = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    906 'flat_w', 'flat within_wake', 'W/m2', (/ ('', i=1, 10) /))
    907 !!
    908   type(ctrl_out),save :: o_cdragh_x      = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    909 'cdragh_x', 'cdragh off-wake', '', (/ ('', i=1, 10) /))
    910   type(ctrl_out),save :: o_cdragh_w      = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    911 'cdragh_w', 'cdragh within-wake', '', (/ ('', i=1, 10) /))
    912   type(ctrl_out),save :: o_cdragm_x      = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    913 'cdragm_x', 'cdragm off-wake', '', (/ ('', i=1, 10) /))
    914   type(ctrl_out),save :: o_cdragm_w      = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    915 'cdragm_w', 'cdrgam within-wake', '', (/ ('', i=1, 10) /))
    916   type(ctrl_out),save :: o_kh            = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    917 'kh', 'Kh', 'kg/s/m2', (/ ('', i=1, 10) /))
    918   type(ctrl_out),save :: o_kh_x          = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    919 'kh_x', 'Kh off-wake', 'kg/s/m2', (/ ('', i=1, 10) /))
    920   type(ctrl_out),save :: o_kh_w          = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    921 'kh_w', 'Kh within-wake', 'kg/s/m2', (/ ('', i=1, 10) /))
    922 !>nrlmd+jyg
    923 !!!
     884          'alp_wk', 'ALP WK', 'W/m2', (/ ('', i = 1, 10) /))
     885  !!!
     886  !nrlmd+jyg<
     887  type(ctrl_out), save :: o_dtvdf_x = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     888          'dtvdf_x', ' dtvdf off_wake', 'K/s', (/ ('', i = 1, 10) /))
     889  type(ctrl_out), save :: o_dtvdf_w = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     890          'dtvdf_w', ' dtvdf within_wake', 'K/s', (/ ('', i = 1, 10) /))
     891  type(ctrl_out), save :: o_dqvdf_x = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     892          'dqvdf_x', ' dqvdf off_wake', 'kg/kg/s', (/ ('', i = 1, 10) /))
     893  type(ctrl_out), save :: o_dqvdf_w = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     894          'dqvdf_w', ' dqvdf within_wake', 'kg/kg/s', (/ ('', i = 1, 10) /))
     895  !!
     896  type(ctrl_out), save :: o_sens_x = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     897          'sens_x', 'sens off_wake', 'W/m2', (/ ('', i = 1, 10) /))
     898  type(ctrl_out), save :: o_sens_w = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     899          'sens_w', 'sens within_wake', 'W/m2', (/ ('', i = 1, 10) /))
     900  type(ctrl_out), save :: o_flat_x = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     901          'flat_x', 'flat off_wake', 'W/m2', (/ ('', i = 1, 10) /))
     902  type(ctrl_out), save :: o_flat_w = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     903          'flat_w', 'flat within_wake', 'W/m2', (/ ('', i = 1, 10) /))
     904  !!
     905  type(ctrl_out), save :: o_cdragh_x = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     906          'cdragh_x', 'cdragh off-wake', '', (/ ('', i = 1, 10) /))
     907  type(ctrl_out), save :: o_cdragh_w = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     908          'cdragh_w', 'cdragh within-wake', '', (/ ('', i = 1, 10) /))
     909  type(ctrl_out), save :: o_cdragm_x = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     910          'cdragm_x', 'cdragm off-wake', '', (/ ('', i = 1, 10) /))
     911  type(ctrl_out), save :: o_cdragm_w = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     912          'cdragm_w', 'cdrgam within-wake', '', (/ ('', i = 1, 10) /))
     913  type(ctrl_out), save :: o_kh = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     914          'kh', 'Kh', 'kg/s/m2', (/ ('', i = 1, 10) /))
     915  type(ctrl_out), save :: o_kh_x = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     916          'kh_x', 'Kh off-wake', 'kg/s/m2', (/ ('', i = 1, 10) /))
     917  type(ctrl_out), save :: o_kh_w = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     918          'kh_w', 'Kh within-wake', 'kg/s/m2', (/ ('', i = 1, 10) /))
     919  !>nrlmd+jyg
     920  !!!
    924921  TYPE(ctrl_out), SAVE :: o_ale = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11, 11/), &
    925     'ale', 'ALE', 'm2/s2', (/ ('', i=1, 10) /))
     922          'ale', 'ALE', 'm2/s2', (/ ('', i = 1, 10) /))
    926923  TYPE(ctrl_out), SAVE :: o_alp = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11, 11/), &
    927     'alp', 'ALP', 'W/m2', (/ ('', i=1, 10) /))
     924          'alp', 'ALP', 'W/m2', (/ ('', i = 1, 10) /))
    928925  TYPE(ctrl_out), SAVE :: o_cin = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11, 11/), &
    929     'cin', 'Convective INhibition', 'm2/s2', (/ ('', i=1, 10) /))
     926          'cin', 'Convective INhibition', 'm2/s2', (/ ('', i = 1, 10) /))
    930927  TYPE(ctrl_out), SAVE :: o_wape = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11, 11/), &
    931     'wape', '', 'm2/s2', (/ ('', i=1, 10) /))
    932 
    933 !!! nrlmd le 10/04/2012
    934 
    935 !-------Spectre de thermiques de type 2 au LCL
     928          'wape', '', 'm2/s2', (/ ('', i = 1, 10) /))
     929
     930  !!! nrlmd le 10/04/2012
     931
     932  !-------Spectre de thermiques de type 2 au LCL
    936933  TYPE(ctrl_out), SAVE :: o_n2 = ctrl_out((/ 1, 6, 6, 6, 10, 10, 11, 11, 11, 11/), &
    937     'n2', 'Nombre de panaches de type 2', ' ', (/ ('', i=1, 10) /))
     934          'n2', 'Nombre de panaches de type 2', ' ', (/ ('', i = 1, 10) /))
    938935  TYPE(ctrl_out), SAVE :: o_s2 = ctrl_out((/ 1, 6, 6, 6, 10, 10, 11, 11, 11, 11/), &
    939     's2', 'Surface moyenne des panaches de type 2', 'm2', (/ ('', i=1, 10) /))
     936          's2', 'Surface moyenne des panaches de type 2', 'm2', (/ ('', i = 1, 10) /))
    940937  TYPE(ctrl_out), SAVE :: o_strig = ctrl_out((/ 1, 6, 6, 6, 10, 10, 11, 11, 11, 11/), &
    941     'strig', 'Surface moyenne pour atteindre niveau de congelation', 'm2', (/ ('', i=1, 10) /))
     938          'strig', 'Surface moyenne pour atteindre niveau de congelation', 'm2', (/ ('', i = 1, 10) /))
    942939  TYPE(ctrl_out), SAVE :: o_zcong = ctrl_out((/ 1, 6, 6, 6, 10, 10, 11, 11, 11, 11/), &
    943     'zcong', 'niveau de congelation', 'm', (/ ('', i=1, 10) /)) 
     940          'zcong', 'niveau de congelation', 'm', (/ ('', i = 1, 10) /))
    944941  TYPE(ctrl_out), SAVE :: o_zlcl_th = ctrl_out((/ 1, 6, 6, 6, 10, 10, 11, 11, 11, 11/), &
    945     'zlcl_th', 'niveau de condensation', 'm', (/ ('', i=1, 10) /))                   
    946 !-------Déclenchement stochastique
     942          'zlcl_th', 'niveau de condensation', 'm', (/ ('', i = 1, 10) /))
     943  !-------Déclenchement stochastique
    947944  TYPE(ctrl_out), SAVE :: o_proba_notrig = ctrl_out((/ 1, 6, 6, 6, 10, 10, 11, 11, 11, 11/), &
    948     'proba_notrig', 'Probabilite de non-declenchement', ' ', (/ ('', i=1, 10) /))
     945          'proba_notrig', 'Probabilite de non-declenchement', ' ', (/ ('', i = 1, 10) /))
    949946  TYPE(ctrl_out), SAVE :: o_random_notrig = ctrl_out((/ 1, 6, 6, 6, 10, 10, 11, 11, 11, 11/), &
    950     'random_notrig', 'Tirage aleatoire de non-declenchement', ' ', (/ ('', i=1, 10) /))
     947          'random_notrig', 'Tirage aleatoire de non-declenchement', ' ', (/ ('', i = 1, 10) /))
    951948  TYPE(ctrl_out), SAVE :: o_ale_bl_stat = ctrl_out((/ 1, 6, 6, 6, 10, 10, 11, 11, 11, 11/), &
    952     'ale_bl_stat', 'ALE_BL_STAT', 'm2/s2', (/ ('', i=1, 10) /))
     949          'ale_bl_stat', 'ALE_BL_STAT', 'm2/s2', (/ ('', i = 1, 10) /))
    953950  TYPE(ctrl_out), SAVE :: o_ale_bl_trig = ctrl_out((/ 1, 6, 6, 6, 10, 10, 11, 11, 11, 11/), &
    954     'ale_bl_trig', 'ALE_BL_STAT + Condition S>Sthreshold', 'm2/s2', (/ ('', i=1, 10) /))
    955 
    956 !-------Fermeture statistique
     951          'ale_bl_trig', 'ALE_BL_STAT + Condition S>Sthreshold', 'm2/s2', (/ ('', i = 1, 10) /))
     952
     953  !-------Fermeture statistique
    957954  TYPE(ctrl_out), SAVE :: o_alp_bl_det = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11, 11/), &
    958     'alp_bl_det', 'ALP_BL_DET', 'W/m2', (/ ('', i=1, 10) /))
     955          'alp_bl_det', 'ALP_BL_DET', 'W/m2', (/ ('', i = 1, 10) /))
    959956  TYPE(ctrl_out), SAVE :: o_alp_bl_fluct_m = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11, 11/), &
    960     'alp_bl_fluct_m', 'ALP_BL_FLUCT_M', 'W/m2', (/ ('', i=1, 10) /))
     957          'alp_bl_fluct_m', 'ALP_BL_FLUCT_M', 'W/m2', (/ ('', i = 1, 10) /))
    961958  TYPE(ctrl_out), SAVE :: o_alp_bl_fluct_tke = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11, 11/), &
    962     'alp_bl_fluct_tke', 'ALP_BL_FLUCT_TKE', 'W/m2', (/ ('', i=1, 10) /))
     959          'alp_bl_fluct_tke', 'ALP_BL_FLUCT_TKE', 'W/m2', (/ ('', i = 1, 10) /))
    963960  TYPE(ctrl_out), SAVE :: o_alp_bl_conv = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11, 11/), &
    964     'alp_bl_conv', 'ALP_BL_CONV', 'W/m2', (/ ('', i=1, 10) /))
     961          'alp_bl_conv', 'ALP_BL_CONV', 'W/m2', (/ ('', i = 1, 10) /))
    965962  TYPE(ctrl_out), SAVE :: o_alp_bl_stat = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11, 11/), &
    966     'alp_bl_stat', 'ALP_BL_STAT', 'W/m2', (/ ('', i=1, 10) /))
    967 
    968 !!! fin nrlmd le 10/04/2012
     963          'alp_bl_stat', 'ALP_BL_STAT', 'W/m2', (/ ('', i = 1, 10) /))
     964
     965  !!! fin nrlmd le 10/04/2012
    969966
    970967  ! Champs interpolles sur des niveaux de pression ??? a faire correctement
    971968
    972   TYPE(ctrl_out), SAVE, DIMENSION(7) :: o_uSTDlevs     = (/                    &
    973       ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'u850', "Zonal wind 850hPa", "m/s",    &
    974       (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
    975       ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'u700', "Zonal wind 700hPa", "m/s",    &
    976       (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
    977       ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'u500', "Zonal wind 500hPa", "m/s",    &
    978       (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
    979       ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'u200', "Zonal wind 200hPa", "m/s",    &
    980       (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
    981       ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'u100', "Zonal wind 100hPa", "m/s",    &
    982       (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
    983       ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'u50', "Zonal wind 50hPa", "m/s",    &
    984       (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
    985       ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'u10', "Zonal wind 10hPa", "m/s",    &
    986       (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)) /)
    987 
    988   TYPE(ctrl_out), SAVE, DIMENSION(7) :: o_vSTDlevs     = (/                     &
    989       ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'v850', "Meridional wind 850hPa", "m/s", &
    990       (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
    991       ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'v700', "Meridional wind 700hPa", "m/s", &
    992       (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
    993       ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'v500', "Meridional wind 500hPa", "m/s", &
    994       (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
    995       ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'v200', "Meridional wind 200hPa", "m/s", &
    996       (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
    997       ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'v100', "Meridional wind 100hPa", "m/s", &
    998       (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
    999       ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'v50', "Meridional wind 50hPa", "m/s", &
    1000       (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
    1001       ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'v10', "Meridional wind 10hPa", "m/s", &
    1002       (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)) /)
    1003 
    1004   TYPE(ctrl_out), SAVE, DIMENSION(7) :: o_wSTDlevs     = (/                    &
    1005       ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'w850', "Vertical wind 850hPa", "Pa/s", &
    1006       (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
    1007       ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'w700', "Vertical wind 700hPa", "Pa/s", &
    1008       (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
    1009       ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'w500', "Vertical wind 500hPa", "Pa/s", &
    1010       (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
    1011       ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'w200', "Vertical wind 200hPa", "Pa/s", &
    1012       (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
    1013       ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'w100', "Vertical wind 100hPa", "Pa/s", &
    1014       (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
    1015       ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'w50', "Vertical wind 50hPa", "Pa/s", &
    1016       (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
    1017       ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'w10', "Vertical wind 10hPa", "Pa/s", &
    1018       (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)) /)
    1019 
    1020   TYPE(ctrl_out), SAVE, DIMENSION(7) :: o_tSTDlevs     = (/                    &
    1021       ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'t850', "Temperature 850hPa", "K",      &
    1022       (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
    1023       ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'t700', "Temperature 700hPa", "K",      &
    1024       (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
    1025       ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'t500', "Temperature 500hPa", "K",      &
    1026       (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
    1027       ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'t200', "Temperature 200hPa", "K",      &
    1028       (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
    1029       ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'t100', "Temperature 100hPa", "K",      &
    1030       (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
    1031       ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'t50',  "Temperature 50hPa", "K",      &
    1032       (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
    1033       ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'t10',  "Temperature 10hPa", "K",      &
    1034       (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)) /)
    1035 
    1036   TYPE(ctrl_out), SAVE, DIMENSION(7) :: o_qSTDlevs     = (/ &
    1037        ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'q850', &
    1038        "Specific humidity 850hPa", "kg/kg", &
    1039        (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
    1040        ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'q700', &
    1041        "Specific humidity 700hPa", "kg/kg", &
    1042        (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
    1043        ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'q500', &
    1044        "Specific humidity 500hPa", "kg/kg", &
    1045        (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
    1046        ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'q200', &
    1047        "Specific humidity 200hPa", "kg/kg", &
    1048        (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
    1049        ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'q100', &
    1050        "Specific humidity 100hPa", "kg/kg", &
    1051        (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
    1052        ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'q50', &
    1053        "Specific humidity 50hPa", "kg/kg", &
    1054        (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
    1055        ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'q10', &
    1056        "Specific humidity 10hPa", "kg/kg", &
    1057        (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)) /)
    1058 
    1059   TYPE(ctrl_out), SAVE, DIMENSION(7) :: o_zSTDlevs   = (/                           &
    1060       ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'z850', "Geopotential height 850hPa",        &
    1061       "m", (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
    1062       ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'z700', "Geopotential height 700hPa",        &
    1063       "m", (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
    1064       ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'z500', "Geopotential height 500hPa",        &
    1065       "m", (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
    1066       ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'z200', "Geopotential height 200hPa",        &
    1067       "m", (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
    1068       ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'z100', "Geopotential height 100hPa",        &
    1069       "m", (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
    1070       ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'z50', "Geopotential height 50hPa",        &
    1071       "m", (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
    1072       ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'z10', "Geopotential height 10hPa",        &
    1073       "m", (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)) /)
     969  TYPE(ctrl_out), SAVE, DIMENSION(7) :: o_uSTDlevs = (/                    &
     970          ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/), 'u850', "Zonal wind 850hPa", "m/s", &
     971                  (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
     972                  ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/), 'u700', "Zonal wind 700hPa", "m/s", &
     973                          (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
     974                  ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/), 'u500', "Zonal wind 500hPa", "m/s", &
     975                          (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
     976                  ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/), 'u200', "Zonal wind 200hPa", "m/s", &
     977                          (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
     978                  ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/), 'u100', "Zonal wind 100hPa", "m/s", &
     979                          (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
     980                  ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/), 'u50', "Zonal wind 50hPa", "m/s", &
     981                          (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
     982                  ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/), 'u10', "Zonal wind 10hPa", "m/s", &
     983                          (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)) /)
     984
     985  TYPE(ctrl_out), SAVE, DIMENSION(7) :: o_vSTDlevs = (/                     &
     986          ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/), 'v850', "Meridional wind 850hPa", "m/s", &
     987                  (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
     988                  ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/), 'v700', "Meridional wind 700hPa", "m/s", &
     989                          (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
     990                  ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/), 'v500', "Meridional wind 500hPa", "m/s", &
     991                          (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
     992                  ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/), 'v200', "Meridional wind 200hPa", "m/s", &
     993                          (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
     994                  ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/), 'v100', "Meridional wind 100hPa", "m/s", &
     995                          (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
     996                  ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/), 'v50', "Meridional wind 50hPa", "m/s", &
     997                          (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
     998                  ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/), 'v10', "Meridional wind 10hPa", "m/s", &
     999                          (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)) /)
     1000
     1001  TYPE(ctrl_out), SAVE, DIMENSION(7) :: o_wSTDlevs = (/                    &
     1002          ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/), 'w850', "Vertical wind 850hPa", "Pa/s", &
     1003                  (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
     1004                  ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/), 'w700', "Vertical wind 700hPa", "Pa/s", &
     1005                          (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
     1006                  ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/), 'w500', "Vertical wind 500hPa", "Pa/s", &
     1007                          (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
     1008                  ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/), 'w200', "Vertical wind 200hPa", "Pa/s", &
     1009                          (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
     1010                  ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/), 'w100', "Vertical wind 100hPa", "Pa/s", &
     1011                          (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
     1012                  ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/), 'w50', "Vertical wind 50hPa", "Pa/s", &
     1013                          (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
     1014                  ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/), 'w10', "Vertical wind 10hPa", "Pa/s", &
     1015                          (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)) /)
     1016
     1017  TYPE(ctrl_out), SAVE, DIMENSION(7) :: o_tSTDlevs = (/                    &
     1018          ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/), 't850', "Temperature 850hPa", "K", &
     1019                  (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
     1020                  ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/), 't700', "Temperature 700hPa", "K", &
     1021                          (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
     1022                  ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/), 't500', "Temperature 500hPa", "K", &
     1023                          (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
     1024                  ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/), 't200', "Temperature 200hPa", "K", &
     1025                          (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
     1026                  ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/), 't100', "Temperature 100hPa", "K", &
     1027                          (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
     1028                  ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/), 't50', "Temperature 50hPa", "K", &
     1029                          (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
     1030                  ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/), 't10', "Temperature 10hPa", "K", &
     1031                          (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)) /)
     1032
     1033  TYPE(ctrl_out), SAVE, DIMENSION(7) :: o_qSTDlevs = (/ &
     1034          ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/), 'q850', &
     1035                  "Specific humidity 850hPa", "kg/kg", &
     1036                  (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
     1037                  ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/), 'q700', &
     1038                          "Specific humidity 700hPa", "kg/kg", &
     1039                          (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
     1040                  ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/), 'q500', &
     1041                          "Specific humidity 500hPa", "kg/kg", &
     1042                          (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
     1043                  ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/), 'q200', &
     1044                          "Specific humidity 200hPa", "kg/kg", &
     1045                          (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
     1046                  ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/), 'q100', &
     1047                          "Specific humidity 100hPa", "kg/kg", &
     1048                          (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
     1049                  ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/), 'q50', &
     1050                          "Specific humidity 50hPa", "kg/kg", &
     1051                          (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
     1052                  ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/), 'q10', &
     1053                          "Specific humidity 10hPa", "kg/kg", &
     1054                          (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)) /)
     1055
     1056  TYPE(ctrl_out), SAVE, DIMENSION(7) :: o_zSTDlevs = (/                           &
     1057          ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/), 'z850', "Geopotential height 850hPa", &
     1058                  "m", (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
     1059                  ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/), 'z700', "Geopotential height 700hPa", &
     1060                          "m", (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
     1061                  ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/), 'z500', "Geopotential height 500hPa", &
     1062                          "m", (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
     1063                  ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/), 'z200', "Geopotential height 200hPa", &
     1064                          "m", (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
     1065                  ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/), 'z100', "Geopotential height 100hPa", &
     1066                          "m", (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
     1067                  ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/), 'z50', "Geopotential height 50hPa", &
     1068                          "m", (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
     1069                  ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/), 'z10', "Geopotential height 10hPa", &
     1070                          "m", (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)) /)
    10741071
    10751072  TYPE(ctrl_out), SAVE :: o_t_oce_sic = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1076     't_oce_sic', 'Temp mixte oce-sic', 'K', (/ ('', i=1, 10) /))
     1073          't_oce_sic', 'Temp mixte oce-sic', 'K', (/ ('', i = 1, 10) /))
    10771074  TYPE(ctrl_out), SAVE :: o_weakinv = ctrl_out((/ 10, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1078     'weakinv', 'Weak inversion', '-', (/ ('', i=1, 10) /))
     1075          'weakinv', 'Weak inversion', '-', (/ ('', i = 1, 10) /))
    10791076  TYPE(ctrl_out), SAVE :: o_dthmin = ctrl_out((/ 10, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1080     'dthmin', 'dTheta mini', 'K/m', (/ ('', i=1, 10) /))
    1081 
    1082   TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_u10_srf      = (/ &
    1083       ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/),'u10_ter', "", "", (/ ('', i=1, 10) /)), &
    1084       ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/),'u10_lic', "", "", (/ ('', i=1, 10) /)), &
    1085       ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/),'u10_oce', "", "", (/ ('', i=1, 10) /)), &
    1086       ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/),'u10_sic', "", "", (/ ('', i=1, 10) /)) /)
    1087 
    1088   TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_v10_srf      = (/ &
    1089       ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/),'v10_ter', "", "", (/ ('', i=1, 10) /)), &
    1090       ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/),'v10_lic', "", "", (/ ('', i=1, 10) /)), &
    1091       ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/),'v10_oce', "", "", (/ ('', i=1, 10) /)), &
    1092       ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/),'v10_sic', "", "", (/ ('', i=1, 10) /)) /)
     1077          'dthmin', 'dTheta mini', 'K/m', (/ ('', i = 1, 10) /))
     1078
     1079  TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_u10_srf = (/ &
     1080          ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/), 'u10_ter', "", "", (/ ('', i = 1, 10) /)), &
     1081                  ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/), 'u10_lic', "", "", (/ ('', i = 1, 10) /)), &
     1082                  ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/), 'u10_oce', "", "", (/ ('', i = 1, 10) /)), &
     1083                  ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/), 'u10_sic', "", "", (/ ('', i = 1, 10) /)) /)
     1084
     1085  TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_v10_srf = (/ &
     1086          ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/), 'v10_ter', "", "", (/ ('', i = 1, 10) /)), &
     1087                  ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/), 'v10_lic', "", "", (/ ('', i = 1, 10) /)), &
     1088                  ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/), 'v10_oce', "", "", (/ ('', i = 1, 10) /)), &
     1089                  ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/), 'v10_sic', "", "", (/ ('', i = 1, 10) /)) /)
    10931090
    10941091  TYPE(ctrl_out), SAVE :: o_cldtau = ctrl_out((/ 10, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1095     'cldtau', 'Cloud optical thickness', '1', (/ ('', i=1, 10) /))
     1092          'cldtau', 'Cloud optical thickness', '1', (/ ('', i = 1, 10) /))
    10961093  TYPE(ctrl_out), SAVE :: o_cldemi = ctrl_out((/ 10, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1097     'cldemi', 'Cloud optical emissivity', '1', (/ ('', i=1, 10) /))
     1094          'cldemi', 'Cloud optical emissivity', '1', (/ ('', i = 1, 10) /))
    10981095  TYPE(ctrl_out), SAVE :: o_rh2m = ctrl_out((/ 5, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1099     'rh2m', 'Relative humidity at 2m', '%', (/ ('', i=1, 10) /))
    1100 !  TYPE(ctrl_out), SAVE :: o_rh2m_min = ctrl_out((/ 10, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1101 !    'rh2m_min', 'Min Relative humidity at 2m', '%',                        &
    1102 !      (/ 't_min(X)', 't_min(X)', 't_min(X)', 't_min(X)', 't_min(X)', &
    1103 !         't_min(X)', 't_min(X)', 't_min(X)', 't_min(X)', 't_min(X)' /))
    1104 !  TYPE(ctrl_out), SAVE :: o_rh2m_max = ctrl_out((/ 10, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1105 !    'rh2m_max', 'Max Relative humidity at 2m', '%',                         &
    1106 !      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
    1107 !         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
     1096          'rh2m', 'Relative humidity at 2m', '%', (/ ('', i = 1, 10) /))
     1097  !  TYPE(ctrl_out), SAVE :: o_rh2m_min = ctrl_out((/ 10, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1098  !    'rh2m_min', 'Min Relative humidity at 2m', '%',                        &
     1099  !      (/ 't_min(X)', 't_min(X)', 't_min(X)', 't_min(X)', 't_min(X)', &
     1100  !         't_min(X)', 't_min(X)', 't_min(X)', 't_min(X)', 't_min(X)' /))
     1101  !  TYPE(ctrl_out), SAVE :: o_rh2m_max = ctrl_out((/ 10, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1102  !    'rh2m_max', 'Max Relative humidity at 2m', '%',                         &
     1103  !      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
     1104  !         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
    11081105  TYPE(ctrl_out), SAVE :: o_qsat2m = ctrl_out((/ 10, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1109     'qsat2m', 'Saturant humidity at 2m', '%', (/ ('', i=1, 10) /))
     1106          'qsat2m', 'Saturant humidity at 2m', '%', (/ ('', i = 1, 10) /))
    11101107  TYPE(ctrl_out), SAVE :: o_tpot = ctrl_out((/ 10, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1111     'tpot', 'Surface air potential temperature', 'K', (/ ('', i=1, 10) /))
     1108          'tpot', 'Surface air potential temperature', 'K', (/ ('', i = 1, 10) /))
    11121109  TYPE(ctrl_out), SAVE :: o_tpote = ctrl_out((/ 10, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1113     'tpote', 'Surface air equivalent potential temperature', 'K', (/ ('', i=1, 10) /))
     1110          'tpote', 'Surface air equivalent potential temperature', 'K', (/ ('', i = 1, 10) /))
    11141111  TYPE(ctrl_out), SAVE :: o_tke = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1115     'tke ', 'TKE', 'm2/s2', (/ ('', i=1, 10) /))
     1112          'tke ', 'TKE', 'm2/s2', (/ ('', i = 1, 10) /))
    11161113  TYPE(ctrl_out), SAVE :: o_tke_shear = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
    1117     'tke_shear ', 'TKE shear term', 'm2/s3', (/ ('', i=1, 10) /)) 
     1114          'tke_shear ', 'TKE shear term', 'm2/s3', (/ ('', i = 1, 10) /))
    11181115  TYPE(ctrl_out), SAVE :: o_tke_buoy = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
    1119     'tke_buoy ', 'TKE buoyancy term', 'm2/s3', (/ ('', i=1, 10) /))
     1116          'tke_buoy ', 'TKE buoyancy term', 'm2/s3', (/ ('', i = 1, 10) /))
    11201117  TYPE(ctrl_out), SAVE :: o_tke_trans = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
    1121     'tke_trans ', 'TKE transport term', 'm2/s3', (/ ('', i=1, 10) /))
     1118          'tke_trans ', 'TKE transport term', 'm2/s3', (/ ('', i = 1, 10) /))
    11221119  TYPE(ctrl_out), SAVE :: o_tke_dissip = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1123     'tke_dissip ', 'TKE dissipation term', 'm2/s3', (/ ('', i=1, 10) /))
     1120          'tke_dissip ', 'TKE dissipation term', 'm2/s3', (/ ('', i = 1, 10) /))
    11241121
    11251122  TYPE(ctrl_out), SAVE :: o_tke_max = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1126     'tke_max', 'TKE max', 'm2/s2',                                  &
    1127       (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
    1128          't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
    1129   TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_tke_srf      = (/             &
    1130       ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/),'tke_ter',       &
    1131       "Max Turb. Kinetic Energy "//clnsurf(1),"m2/s2", (/ ('', i=1, 10) /)), &
    1132       ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/),'tke_lic',       &
    1133       "Max Turb. Kinetic Energy "//clnsurf(2),"m2/s2", (/ ('', i=1, 10) /)), &
    1134       ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/),'tke_oce',       &
    1135       "Max Turb. Kinetic Energy "//clnsurf(3),"m2/s2", (/ ('', i=1, 10) /)), &
    1136       ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/),'tke_sic',       &
    1137       "Max Turb. Kinetic Energy "//clnsurf(4),"m2/s2", (/ ('', i=1, 10) /)) /)
    1138 !FC
    1139 !  TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_treedrg_srf      = (/             &
    1140 !      ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/),'treedrg_ter',       &
    1141 !      "Drag from trees "//clnsurf(1),"-", (/ ('', i=1, 10) /)), &
    1142 !      ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/),'treedrg_lic',       &
    1143 !      "Drag from trees "//clnsurf(2),"-", (/ ('', i=1, 10) /)), &
    1144 !      ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/),'treedrg_oce',       &
    1145 !      "Drag from trees "//clnsurf(3),"-", (/ ('', i=1, 10) /)), &
    1146 !      ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/),'treedrg_sic',       &
    1147 !      "Drag from trees "//clnsurf(4),"-", (/ ('', i=1, 10) /)) /)
    1148 !FC
    1149 
    1150   TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_l_mixmin      = (/             &
    1151       ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'l_mixmin_ter',       &
    1152       "PBL mixing length "//clnsurf(1),"m", (/ ('', i=1, 10) /)), &
    1153       ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'l_mixmin_lic',       &
    1154       "PBL mixing length "//clnsurf(2),"m", (/ ('', i=1, 10) /)), &
    1155       ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'l_mixmin_oce',       &
    1156       "PBL mixing length "//clnsurf(3),"m", (/ ('', i=1, 10) /)), &
    1157       ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'l_mixmin_sic',       &
    1158       "PBL mixing length "//clnsurf(4),"m", (/ ('', i=1, 10) /)) /)
    1159 
    1160   TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_l_mix      = (/             &
    1161       ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'l_mix_ter',       &
    1162       "min PBL mixing length "//clnsurf(1),"m", (/ ('', i=1, 10) /)), &
    1163       ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'l_mix_lic',       &
    1164       "min PBL mixing length "//clnsurf(2),"m", (/ ('', i=1, 10) /)), &
    1165       ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'l_mix_oce',       &
    1166       "min PBL mixing length "//clnsurf(3),"m", (/ ('', i=1, 10) /)), &
    1167       ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'l_mix_sic',       &
    1168       "min PBL mixing length "//clnsurf(4),"m", (/ ('', i=1, 10) /)) /)
    1169 
    1170 
    1171   TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_tke_max_srf  = (/                          &
    1172       ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/),'tke_max_ter',                &
    1173       "Max Turb. Kinetic Energy "//clnsurf(1),"-",                                   &
    1174       (/ "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", &
    1175          "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)" /)), &
    1176       ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/),'tke_max_lic',                &
    1177       "Max Turb. Kinetic Energy "//clnsurf(2),"-",                                   &
    1178       (/ "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", &
    1179          "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)" /)), &
    1180       ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/),'tke_max_oce',                &
    1181       "Max Turb. Kinetic Energy "//clnsurf(3),"-",                                   &
    1182       (/ "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", &
    1183          "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)" /)), &
    1184       ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/),'tke_max_sic',                &
    1185       "Max Turb. Kinetic Energy "//clnsurf(4),"-",                                   &
    1186       (/ "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", &
    1187          "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)" /)) /)
    1188 
    1189   TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_dltpbltke_srf      = (/             &
    1190       ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/),'dltpbltke_ter',       &
    1191       "TKE difference (w - x) "//clnsurf(1),"-", (/ ('', i=1, 10) /)), &
    1192       ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/),'dltpbltke_lic',       &
    1193       "TKE difference (w - x) "//clnsurf(2),"-", (/ ('', i=1, 10) /)), &
    1194       ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/),'dltpbltke_oce',       &
    1195       "TKE difference (w - x) "//clnsurf(3),"-", (/ ('', i=1, 10) /)), &
    1196       ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/),'dltpbltke_sic',       &
    1197       "TKE difference (w - x) "//clnsurf(4),"-", (/ ('', i=1, 10) /)) /)
     1123          'tke_max', 'TKE max', 'm2/s2', &
     1124          (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
     1125                  't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
     1126  TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_tke_srf = (/             &
     1127          ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/), 'tke_ter', &
     1128                  "Max Turb. Kinetic Energy " // clnsurf(1), "m2/s2", (/ ('', i = 1, 10) /)), &
     1129                  ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/), 'tke_lic', &
     1130                          "Max Turb. Kinetic Energy " // clnsurf(2), "m2/s2", (/ ('', i = 1, 10) /)), &
     1131                  ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/), 'tke_oce', &
     1132                          "Max Turb. Kinetic Energy " // clnsurf(3), "m2/s2", (/ ('', i = 1, 10) /)), &
     1133                  ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/), 'tke_sic', &
     1134                          "Max Turb. Kinetic Energy " // clnsurf(4), "m2/s2", (/ ('', i = 1, 10) /)) /)
     1135  !FC
     1136  !  TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_treedrg_srf      = (/             &
     1137  !      ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/),'treedrg_ter',       &
     1138  !      "Drag from trees "//clnsurf(1),"-", (/ ('', i=1, 10) /)), &
     1139  !      ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/),'treedrg_lic',       &
     1140  !      "Drag from trees "//clnsurf(2),"-", (/ ('', i=1, 10) /)), &
     1141  !      ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/),'treedrg_oce',       &
     1142  !      "Drag from trees "//clnsurf(3),"-", (/ ('', i=1, 10) /)), &
     1143  !      ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/),'treedrg_sic',       &
     1144  !      "Drag from trees "//clnsurf(4),"-", (/ ('', i=1, 10) /)) /)
     1145  !FC
     1146
     1147  TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_l_mixmin = (/             &
     1148          ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'l_mixmin_ter', &
     1149                  "PBL mixing length " // clnsurf(1), "m", (/ ('', i = 1, 10) /)), &
     1150                  ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'l_mixmin_lic', &
     1151                          "PBL mixing length " // clnsurf(2), "m", (/ ('', i = 1, 10) /)), &
     1152                  ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'l_mixmin_oce', &
     1153                          "PBL mixing length " // clnsurf(3), "m", (/ ('', i = 1, 10) /)), &
     1154                  ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'l_mixmin_sic', &
     1155                          "PBL mixing length " // clnsurf(4), "m", (/ ('', i = 1, 10) /)) /)
     1156
     1157  TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_l_mix = (/             &
     1158          ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'l_mix_ter', &
     1159                  "min PBL mixing length " // clnsurf(1), "m", (/ ('', i = 1, 10) /)), &
     1160                  ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'l_mix_lic', &
     1161                          "min PBL mixing length " // clnsurf(2), "m", (/ ('', i = 1, 10) /)), &
     1162                  ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'l_mix_oce', &
     1163                          "min PBL mixing length " // clnsurf(3), "m", (/ ('', i = 1, 10) /)), &
     1164                  ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'l_mix_sic', &
     1165                          "min PBL mixing length " // clnsurf(4), "m", (/ ('', i = 1, 10) /)) /)
     1166
     1167  TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_tke_max_srf = (/                          &
     1168          ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/), 'tke_max_ter', &
     1169                  "Max Turb. Kinetic Energy " // clnsurf(1), "-", &
     1170                  (/ "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", &
     1171                          "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)" /)), &
     1172                  ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/), 'tke_max_lic', &
     1173                          "Max Turb. Kinetic Energy " // clnsurf(2), "-", &
     1174                          (/ "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", &
     1175                                  "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)" /)), &
     1176                  ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/), 'tke_max_oce', &
     1177                          "Max Turb. Kinetic Energy " // clnsurf(3), "-", &
     1178                          (/ "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", &
     1179                                  "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)" /)), &
     1180                  ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/), 'tke_max_sic', &
     1181                          "Max Turb. Kinetic Energy " // clnsurf(4), "-", &
     1182                          (/ "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", &
     1183                                  "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)" /)) /)
     1184
     1185  TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_dltpbltke_srf = (/             &
     1186          ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/), 'dltpbltke_ter', &
     1187                  "TKE difference (w - x) " // clnsurf(1), "-", (/ ('', i = 1, 10) /)), &
     1188                  ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/), 'dltpbltke_lic', &
     1189                          "TKE difference (w - x) " // clnsurf(2), "-", (/ ('', i = 1, 10) /)), &
     1190                  ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/), 'dltpbltke_oce', &
     1191                          "TKE difference (w - x) " // clnsurf(3), "-", (/ ('', i = 1, 10) /)), &
     1192                  ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/), 'dltpbltke_sic', &
     1193                          "TKE difference (w - x) " // clnsurf(4), "-", (/ ('', i = 1, 10) /)) /)
    11981194
    11991195  TYPE(ctrl_out), SAVE :: o_delta_tsurf = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1200     'delta_tsurf ', 'T_surf difference (w - x)', 'K', (/ ('', i=1, 10) /))
    1201   TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_delta_tsurf_srf      = (/             &
    1202       ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/),'delta_tsurf_ter',      &
    1203       "T_surf difference (w - x) "//clnsurf(1),"-", (/ ('', i=1, 10) /)), &
    1204       ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/),'delta_tsurf_lic',      &
    1205       "T_surf difference (w - x) "//clnsurf(2),"-", (/ ('', i=1, 10) /)), &
    1206       ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/),'delta_tsurf_oce',      &
    1207       "T_surf difference (w - x) "//clnsurf(3),"-", (/ ('', i=1, 10) /)), &
    1208       ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/),'delta_tsurf_sic',      &
    1209       "T_surf difference (w - x) "//clnsurf(4),"-", (/ ('', i=1, 10) /)) /)
     1196          'delta_tsurf ', 'T_surf difference (w - x)', 'K', (/ ('', i = 1, 10) /))
     1197  TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_delta_tsurf_srf = (/             &
     1198          ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/), 'delta_tsurf_ter', &
     1199                  "T_surf difference (w - x) " // clnsurf(1), "-", (/ ('', i = 1, 10) /)), &
     1200                  ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/), 'delta_tsurf_lic', &
     1201                          "T_surf difference (w - x) " // clnsurf(2), "-", (/ ('', i = 1, 10) /)), &
     1202                  ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/), 'delta_tsurf_oce', &
     1203                          "T_surf difference (w - x) " // clnsurf(3), "-", (/ ('', i = 1, 10) /)), &
     1204                  ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/), 'delta_tsurf_sic', &
     1205                          "T_surf difference (w - x) " // clnsurf(4), "-", (/ ('', i = 1, 10) /)) /)
    12101206
    12111207  TYPE(ctrl_out), SAVE :: o_kz = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1212     'kz', 'Kz melange', 'm2/s', (/ ('', i=1, 10) /))
     1208          'kz', 'Kz melange', 'm2/s', (/ ('', i = 1, 10) /))
    12131209  TYPE(ctrl_out), SAVE :: o_kz_max = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1214     'kz_max', 'Kz melange max', 'm2/s',                                  &
    1215       (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
    1216          't_max(X)', "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)" /))
     1210          'kz_max', 'Kz melange max', 'm2/s', &
     1211          (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
     1212                  't_max(X)', "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)" /))
    12171213  TYPE(ctrl_out), SAVE :: o_SWnetOR = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1218     'SWnetOR', 'Sfce net SW radiation OR', 'W/m2', (/ ('', i=1, 10) /))
     1214          'SWnetOR', 'Sfce net SW radiation OR', 'W/m2', (/ ('', i = 1, 10) /))
    12191215  TYPE(ctrl_out), SAVE :: o_LWdownOR = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1220     'LWdownOR', 'Sfce incident LW radiation OR', 'W/m2', (/ ('', i=1, 10) /))
     1216          'LWdownOR', 'Sfce incident LW radiation OR', 'W/m2', (/ ('', i = 1, 10) /))
    12211217  TYPE(ctrl_out), SAVE :: o_snowl = ctrl_out((/ 10, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1222     'snowl', 'Solid Large-scale Precip.', 'kg/(m2*s)', (/ ('', i=1, 10) /))
     1218          'snowl', 'Solid Large-scale Precip.', 'kg/(m2*s)', (/ ('', i = 1, 10) /))
    12231219  TYPE(ctrl_out), SAVE :: o_cape_max = ctrl_out((/ 10, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1224     'cape_max', 'CAPE max.', 'J/kg',                                      &
    1225       (/ "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", &
    1226          "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)" /))
     1220          'cape_max', 'CAPE max.', 'J/kg', &
     1221          (/ "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", &
     1222                  "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)" /))
    12271223  TYPE(ctrl_out), SAVE :: o_solldown = ctrl_out((/ 10, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1228     'solldown', 'Down. IR rad. at surface', 'W/m2', (/ ('', i=1, 10) /))
     1224          'solldown', 'Down. IR rad. at surface', 'W/m2', (/ ('', i = 1, 10) /))
    12291225  TYPE(ctrl_out), SAVE :: o_dtsvdfo = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1230     'dtsvdfo', 'Boundary-layer dTs(o)', 'K/s', (/ ('', i=1, 10) /))
     1226          'dtsvdfo', 'Boundary-layer dTs(o)', 'K/s', (/ ('', i = 1, 10) /))
    12311227  TYPE(ctrl_out), SAVE :: o_dtsvdft = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1232     'dtsvdft', 'Boundary-layer dTs(t)', 'K/s', (/ ('', i=1, 10) /))
     1228          'dtsvdft', 'Boundary-layer dTs(t)', 'K/s', (/ ('', i = 1, 10) /))
    12331229  TYPE(ctrl_out), SAVE :: o_dtsvdfg = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1234     'dtsvdfg', 'Boundary-layer dTs(g)', 'K/s', (/ ('', i=1, 10) /))
     1230          'dtsvdfg', 'Boundary-layer dTs(g)', 'K/s', (/ ('', i = 1, 10) /))
    12351231  TYPE(ctrl_out), SAVE :: o_dtsvdfi = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1236     'dtsvdfi', 'Boundary-layer dTs(g)', 'K/s', (/ ('', i=1, 10) /))
     1232          'dtsvdfi', 'Boundary-layer dTs(g)', 'K/s', (/ ('', i = 1, 10) /))
    12371233  TYPE(ctrl_out), SAVE :: o_z0m = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1238     'z0m', 'roughness length, momentum', '-', (/ ('', i=1, 10) /))
     1234          'z0m', 'roughness length, momentum', '-', (/ ('', i = 1, 10) /))
    12391235  TYPE(ctrl_out), SAVE :: o_z0h = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1240     'z0h', 'roughness length, enthalpy', '-', (/ ('', i=1, 10) /))
     1236          'z0h', 'roughness length, enthalpy', '-', (/ ('', i = 1, 10) /))
    12411237  TYPE(ctrl_out), SAVE :: o_topswad = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1242     'topswad', 'ADE at TOA', 'W/m2', (/ ('', i=1, 10) /))
     1238          'topswad', 'ADE at TOA', 'W/m2', (/ ('', i = 1, 10) /))
    12431239  TYPE(ctrl_out), SAVE :: o_topswad0 = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1244     'topswad0', 'ADE clear-sky at TOA', 'W/m2', (/ ('', i=1, 10) /))
     1240          'topswad0', 'ADE clear-sky at TOA', 'W/m2', (/ ('', i = 1, 10) /))
    12451241  TYPE(ctrl_out), SAVE :: o_topswai = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1246     'topswai', 'AIE at TOA', 'W/m2', (/ ('', i=1, 10) /))
     1242          'topswai', 'AIE at TOA', 'W/m2', (/ ('', i = 1, 10) /))
    12471243  TYPE(ctrl_out), SAVE :: o_solswad = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1248     'solswad', 'ADE at SRF', 'W/m2', (/ ('', i=1, 10) /))
     1244          'solswad', 'ADE at SRF', 'W/m2', (/ ('', i = 1, 10) /))
    12491245  TYPE(ctrl_out), SAVE :: o_solswad0 = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1250     'solswad0', 'ADE clear-sky at SRF', 'W/m2', (/ ('', i=1, 10) /))
     1246          'solswad0', 'ADE clear-sky at SRF', 'W/m2', (/ ('', i = 1, 10) /))
    12511247  TYPE(ctrl_out), SAVE :: o_solswai = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1252     'solswai', 'AIE at SFR', 'W/m2', (/ ('', i=1, 10) /))
     1248          'solswai', 'AIE at SFR', 'W/m2', (/ ('', i = 1, 10) /))
    12531249  TYPE(ctrl_out), SAVE :: o_toplwad = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1254     'toplwad', 'LW-ADE at TOA', 'W/m2', (/ ('', i=1, 10) /))
     1250          'toplwad', 'LW-ADE at TOA', 'W/m2', (/ ('', i = 1, 10) /))
    12551251  TYPE(ctrl_out), SAVE :: o_toplwad0 = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1256     'toplwad0', 'LW-ADE clear-sky at TOA', 'W/m2', (/ ('', i=1, 10) /))
     1252          'toplwad0', 'LW-ADE clear-sky at TOA', 'W/m2', (/ ('', i = 1, 10) /))
    12571253  TYPE(ctrl_out), SAVE :: o_toplwai = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1258     'toplwai', 'LW-AIE at TOA', 'W/m2', (/ ('', i=1, 10) /))
     1254          'toplwai', 'LW-AIE at TOA', 'W/m2', (/ ('', i = 1, 10) /))
    12591255  TYPE(ctrl_out), SAVE :: o_sollwad = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1260     'sollwad', 'LW-ADE at SRF', 'W/m2', (/ ('', i=1, 10) /))
     1256          'sollwad', 'LW-ADE at SRF', 'W/m2', (/ ('', i = 1, 10) /))
    12611257  TYPE(ctrl_out), SAVE :: o_sollwad0 = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1262     'sollwad0', 'LW-ADE clear-sky at SRF', 'W/m2', (/ ('', i=1, 10) /))
     1258          'sollwad0', 'LW-ADE clear-sky at SRF', 'W/m2', (/ ('', i = 1, 10) /))
    12631259  TYPE(ctrl_out), SAVE :: o_sollwai = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1264     'sollwai', 'LW-AIE at SFR', 'W/m2', (/ ('', i=1, 10) /))
    1265 
    1266   TYPE(ctrl_out),SAVE,DIMENSION(naero_tot) :: o_tausumaero =                              &
    1267        (/ ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'od550_'//name_aero_tau(1),    &
    1268        "Aerosol Optical depth at 550 nm "//name_aero_tau(1),"1", (/ ('', i=1, 10) /)),    &
    1269        ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'od550_'//name_aero_tau(2),        &
    1270        "Aerosol Optical depth at 550 nm "//name_aero_tau(2),"2", (/ ('', i=1, 10) /)),    &
    1271        ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'od550_'//name_aero_tau(3),        &
    1272        "Aerosol Optical depth at 550 nm "//name_aero_tau(3),"3", (/ ('', i=1, 10) /)),    &
    1273        ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'od550_'//name_aero_tau(4),        &
    1274        "Aerosol Optical depth at 550 nm "//name_aero_tau(4),"4", (/ ('', i=1, 10) /)),    &
    1275        ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'od550_'//name_aero_tau(5),        &
    1276        "Aerosol Optical depth at 550 nm "//name_aero_tau(5),"5", (/ ('', i=1, 10) /)),    &
    1277        ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'od550_'//name_aero_tau(6),        &
    1278        "Aerosol Optical depth at 550 nm "//name_aero_tau(6),"6", (/ ('', i=1, 10) /)),    &
    1279        ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'od550_'//name_aero_tau(7),        &
    1280        "Aerosol Optical depth at 550 nm "//name_aero_tau(7),"7", (/ ('', i=1, 10) /)),    &
    1281        ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'od550_'//name_aero_tau(8),        &
    1282        "Aerosol Optical depth at 550 nm "//name_aero_tau(8),"8", (/ ('', i=1, 10) /)),    &
    1283        ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'od550_'//name_aero_tau(9),        &
    1284        "Aerosol Optical depth at 550 nm "//name_aero_tau(9),"9", (/ ('', i=1, 10) /)),    &
    1285        ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'od550_'//name_aero_tau(10),      &
    1286        "Aerosol Optical depth at 550 nm "//name_aero_tau(10),"10", (/ ('', i=1, 10) /)),  &
    1287        ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'od550_'//name_aero_tau(11),      &
    1288        "Aerosol Optical depth at 550 nm "//name_aero_tau(11),"11", (/ ('', i=1, 10) /)),  &
    1289        ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'od550_'//name_aero_tau(12),      &
    1290        "Aerosol Optical depth at 550 nm "//name_aero_tau(12),"12", (/ ('', i=1, 10) /)),  &
    1291        ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'od550_'//name_aero_tau(13),      &
    1292        "Aerosol Optical depth at 550 nm "//name_aero_tau(13),"13", (/ ('', i=1, 10) /)),  &
    1293        ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'od550_'//name_aero_tau(14),      &
    1294        "Aerosol Optical depth at 550 nm "//name_aero_tau(14),"14", (/ ('', i=1, 10) /)) /)
    1295 
    1296   TYPE(ctrl_out),SAVE,DIMENSION(naero_tot-1) :: o_drytausumaero =                              &
    1297        (/ ctrl_out((/ 11, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'dryod550_'//name_aero_tau(1),    &
    1298        "Dry aerosol Optical depth at 550 nm "//name_aero_tau(1),"1", (/ ('', i=1, 10) /)),    &
    1299        ctrl_out((/ 11, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'dryod550_'//name_aero_tau(2),        &
    1300        "Dry aerosol Optical depth at 550 nm "//name_aero_tau(2),"2", (/ ('', i=1, 10) /)),    &
    1301        ctrl_out((/ 11, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'dryod550_'//name_aero_tau(3),        &
    1302        "Dry aerosol Optical depth at 550 nm "//name_aero_tau(3),"3", (/ ('', i=1, 10) /)),    &
    1303        ctrl_out((/ 11, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'dryod550_'//name_aero_tau(4),        &
    1304        "Dry aerosol Optical depth at 550 nm "//name_aero_tau(4),"4", (/ ('', i=1, 10) /)),    &
    1305        ctrl_out((/ 11, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'dryod550_'//name_aero_tau(5),        &
    1306        "Dry aerosol Optical depth at 550 nm "//name_aero_tau(5),"5", (/ ('', i=1, 10) /)),    &
    1307        ctrl_out((/ 11, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'dryod550_'//name_aero_tau(6),        &
    1308        "Dry aerosol Optical depth at 550 nm "//name_aero_tau(6),"6", (/ ('', i=1, 10) /)),    &
    1309        ctrl_out((/ 11, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'dryod550_'//name_aero_tau(7),        &
    1310        "Dry aerosol Optical depth at 550 nm "//name_aero_tau(7),"7", (/ ('', i=1, 10) /)),    &
    1311        ctrl_out((/ 11, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'dryod550_'//name_aero_tau(8),        &
    1312        "Dry aerosol Optical depth at 550 nm "//name_aero_tau(8),"8", (/ ('', i=1, 10) /)),    &
    1313        ctrl_out((/ 11, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'dryod550_'//name_aero_tau(9),        &
    1314        "Dry aerosol Optical depth at 550 nm "//name_aero_tau(9),"9", (/ ('', i=1, 10) /)),    &
    1315        ctrl_out((/ 11, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'dryod550_'//name_aero_tau(10),      &
    1316        "Dry aerosol Optical depth at 550 nm "//name_aero_tau(10),"10", (/ ('', i=1, 10) /)),  &
    1317        ctrl_out((/ 11, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'dryod550_'//name_aero_tau(11),      &
    1318        "Dry aerosol Optical depth at 550 nm "//name_aero_tau(11),"11", (/ ('', i=1, 10) /)),  &
    1319        ctrl_out((/ 11, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'dryod550_'//name_aero_tau(12),      &
    1320        "Dry aerosol Optical depth at 550 nm "//name_aero_tau(12),"12", (/ ('', i=1, 10) /)),  &
    1321        ctrl_out((/ 11, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'dryod550_'//name_aero_tau(13),      &
    1322        "Dry aerosol Optical depth at 550 nm "//name_aero_tau(13),"13", (/ ('', i=1, 10) /)) /)
    1323 !
     1260          'sollwai', 'LW-AIE at SFR', 'W/m2', (/ ('', i = 1, 10) /))
     1261
     1262  TYPE(ctrl_out), SAVE, DIMENSION(naero_tot) :: o_tausumaero = &
     1263          (/ ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'od550_' // name_aero_tau(1), &
     1264                  "Aerosol Optical depth at 550 nm " // name_aero_tau(1), "1", (/ ('', i = 1, 10) /)), &
     1265                  ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'od550_' // name_aero_tau(2), &
     1266                          "Aerosol Optical depth at 550 nm " // name_aero_tau(2), "2", (/ ('', i = 1, 10) /)), &
     1267                  ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'od550_' // name_aero_tau(3), &
     1268                          "Aerosol Optical depth at 550 nm " // name_aero_tau(3), "3", (/ ('', i = 1, 10) /)), &
     1269                  ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'od550_' // name_aero_tau(4), &
     1270                          "Aerosol Optical depth at 550 nm " // name_aero_tau(4), "4", (/ ('', i = 1, 10) /)), &
     1271                  ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'od550_' // name_aero_tau(5), &
     1272                          "Aerosol Optical depth at 550 nm " // name_aero_tau(5), "5", (/ ('', i = 1, 10) /)), &
     1273                  ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'od550_' // name_aero_tau(6), &
     1274                          "Aerosol Optical depth at 550 nm " // name_aero_tau(6), "6", (/ ('', i = 1, 10) /)), &
     1275                  ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'od550_' // name_aero_tau(7), &
     1276                          "Aerosol Optical depth at 550 nm " // name_aero_tau(7), "7", (/ ('', i = 1, 10) /)), &
     1277                  ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'od550_' // name_aero_tau(8), &
     1278                          "Aerosol Optical depth at 550 nm " // name_aero_tau(8), "8", (/ ('', i = 1, 10) /)), &
     1279                  ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'od550_' // name_aero_tau(9), &
     1280                          "Aerosol Optical depth at 550 nm " // name_aero_tau(9), "9", (/ ('', i = 1, 10) /)), &
     1281                  ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'od550_' // name_aero_tau(10), &
     1282                          "Aerosol Optical depth at 550 nm " // name_aero_tau(10), "10", (/ ('', i = 1, 10) /)), &
     1283                  ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'od550_' // name_aero_tau(11), &
     1284                          "Aerosol Optical depth at 550 nm " // name_aero_tau(11), "11", (/ ('', i = 1, 10) /)), &
     1285                  ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'od550_' // name_aero_tau(12), &
     1286                          "Aerosol Optical depth at 550 nm " // name_aero_tau(12), "12", (/ ('', i = 1, 10) /)), &
     1287                  ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'od550_' // name_aero_tau(13), &
     1288                          "Aerosol Optical depth at 550 nm " // name_aero_tau(13), "13", (/ ('', i = 1, 10) /)), &
     1289                  ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'od550_' // name_aero_tau(14), &
     1290                          "Aerosol Optical depth at 550 nm " // name_aero_tau(14), "14", (/ ('', i = 1, 10) /)) /)
     1291
     1292  TYPE(ctrl_out), SAVE, DIMENSION(naero_tot - 1) :: o_drytausumaero = &
     1293          (/ ctrl_out((/ 11, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'dryod550_' // name_aero_tau(1), &
     1294                  "Dry aerosol Optical depth at 550 nm " // name_aero_tau(1), "1", (/ ('', i = 1, 10) /)), &
     1295                  ctrl_out((/ 11, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'dryod550_' // name_aero_tau(2), &
     1296                          "Dry aerosol Optical depth at 550 nm " // name_aero_tau(2), "2", (/ ('', i = 1, 10) /)), &
     1297                  ctrl_out((/ 11, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'dryod550_' // name_aero_tau(3), &
     1298                          "Dry aerosol Optical depth at 550 nm " // name_aero_tau(3), "3", (/ ('', i = 1, 10) /)), &
     1299                  ctrl_out((/ 11, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'dryod550_' // name_aero_tau(4), &
     1300                          "Dry aerosol Optical depth at 550 nm " // name_aero_tau(4), "4", (/ ('', i = 1, 10) /)), &
     1301                  ctrl_out((/ 11, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'dryod550_' // name_aero_tau(5), &
     1302                          "Dry aerosol Optical depth at 550 nm " // name_aero_tau(5), "5", (/ ('', i = 1, 10) /)), &
     1303                  ctrl_out((/ 11, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'dryod550_' // name_aero_tau(6), &
     1304                          "Dry aerosol Optical depth at 550 nm " // name_aero_tau(6), "6", (/ ('', i = 1, 10) /)), &
     1305                  ctrl_out((/ 11, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'dryod550_' // name_aero_tau(7), &
     1306                          "Dry aerosol Optical depth at 550 nm " // name_aero_tau(7), "7", (/ ('', i = 1, 10) /)), &
     1307                  ctrl_out((/ 11, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'dryod550_' // name_aero_tau(8), &
     1308                          "Dry aerosol Optical depth at 550 nm " // name_aero_tau(8), "8", (/ ('', i = 1, 10) /)), &
     1309                  ctrl_out((/ 11, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'dryod550_' // name_aero_tau(9), &
     1310                          "Dry aerosol Optical depth at 550 nm " // name_aero_tau(9), "9", (/ ('', i = 1, 10) /)), &
     1311                  ctrl_out((/ 11, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'dryod550_' // name_aero_tau(10), &
     1312                          "Dry aerosol Optical depth at 550 nm " // name_aero_tau(10), "10", (/ ('', i = 1, 10) /)), &
     1313                  ctrl_out((/ 11, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'dryod550_' // name_aero_tau(11), &
     1314                          "Dry aerosol Optical depth at 550 nm " // name_aero_tau(11), "11", (/ ('', i = 1, 10) /)), &
     1315                  ctrl_out((/ 11, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'dryod550_' // name_aero_tau(12), &
     1316                          "Dry aerosol Optical depth at 550 nm " // name_aero_tau(12), "12", (/ ('', i = 1, 10) /)), &
     1317                  ctrl_out((/ 11, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'dryod550_' // name_aero_tau(13), &
     1318                          "Dry aerosol Optical depth at 550 nm " // name_aero_tau(13), "13", (/ ('', i = 1, 10) /)) /)
     1319
    13241320  TYPE(ctrl_out), SAVE :: o_tausumaero_lw = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1325     'od_10um_STRAT', 'Stratospheric Aerosol Optical depth at 10 um ', '1', (/ ('', i=1, 10) /))
    1326 !
     1321          'od_10um_STRAT', 'Stratospheric Aerosol Optical depth at 10 um ', '1', (/ ('', i = 1, 10) /))
     1322
    13271323  TYPE(ctrl_out), SAVE :: o_od443aer = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1328     'od443aer', 'Total aerosol optical depth at 440nm', '-', (/ ('', i=1, 10) /))
     1324          'od443aer', 'Total aerosol optical depth at 440nm', '-', (/ ('', i = 1, 10) /))
    13291325  TYPE(ctrl_out), SAVE :: o_od550aer = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1330     'od550aer', 'Total aerosol optical depth at 550nm', '-', (/ ('', i=1, 10) /))
     1326          'od550aer', 'Total aerosol optical depth at 550nm', '-', (/ ('', i = 1, 10) /))
    13311327  TYPE(ctrl_out), SAVE :: o_dryod550aer = ctrl_out((/ 11, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1332     'dryod550aer', 'Total dry aerosol optical depth at 550nm', '-', (/ ('', i=1, 10) /))
     1328          'dryod550aer', 'Total dry aerosol optical depth at 550nm', '-', (/ ('', i = 1, 10) /))
    13331329  TYPE(ctrl_out), SAVE :: o_od865aer = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1334     'od865aer', 'Total aerosol optical depth at 870nm', '-', (/ ('', i=1, 10) /))
     1330          'od865aer', 'Total aerosol optical depth at 870nm', '-', (/ ('', i = 1, 10) /))
    13351331  TYPE(ctrl_out), SAVE :: o_abs550aer = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1336     'abs550aer', 'Absorption aerosol optical depth at 550nm', '-', (/ ('', i=1, 10) /))
     1332          'abs550aer', 'Absorption aerosol optical depth at 550nm', '-', (/ ('', i = 1, 10) /))
    13371333  TYPE(ctrl_out), SAVE :: o_od550lt1aer = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1338     'od550lt1aer', 'Fine mode optical depth', '-', (/ ('', i=1, 10) /))
     1334          'od550lt1aer', 'Fine mode optical depth', '-', (/ ('', i = 1, 10) /))
    13391335  TYPE(ctrl_out), SAVE :: o_sconcso4 = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1340     'sconcso4', 'Surface Concentration of Sulfate ', 'kg/m3', (/ ('', i=1, 10) /))
     1336          'sconcso4', 'Surface Concentration of Sulfate ', 'kg/m3', (/ ('', i = 1, 10) /))
    13411337  TYPE(ctrl_out), SAVE :: o_sconcno3 = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1342     'sconcno3', 'Surface Concentration of Nitrate ', 'kg/m3', (/ ('', i=1, 10) /))
     1338          'sconcno3', 'Surface Concentration of Nitrate ', 'kg/m3', (/ ('', i = 1, 10) /))
    13431339  TYPE(ctrl_out), SAVE :: o_sconcoa = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1344     'sconcoa', 'Surface Concentration of Organic Aerosol ', 'kg/m3', (/ ('', i=1, 10) /))
     1340          'sconcoa', 'Surface Concentration of Organic Aerosol ', 'kg/m3', (/ ('', i = 1, 10) /))
    13451341  TYPE(ctrl_out), SAVE :: o_sconcbc = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1346     'sconcbc', 'Surface Concentration of Black Carbon ', 'kg/m3', (/ ('', i=1, 10) /))
     1342          'sconcbc', 'Surface Concentration of Black Carbon ', 'kg/m3', (/ ('', i = 1, 10) /))
    13471343  TYPE(ctrl_out), SAVE :: o_sconcss = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1348     'sconcss', 'Surface Concentration of Sea Salt ', 'kg/m3', (/ ('', i=1, 10) /))
     1344          'sconcss', 'Surface Concentration of Sea Salt ', 'kg/m3', (/ ('', i = 1, 10) /))
    13491345  TYPE(ctrl_out), SAVE :: o_sconcdust = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1350     'sconcdust', 'Surface Concentration of Dust ', 'kg/m3', (/ ('', i=1, 10) /))
     1346          'sconcdust', 'Surface Concentration of Dust ', 'kg/m3', (/ ('', i = 1, 10) /))
    13511347  TYPE(ctrl_out), SAVE :: o_concso4 = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1352     'concso4', 'Concentration of Sulfate ', 'kg/m3', (/ ('', i=1, 10) /))
     1348          'concso4', 'Concentration of Sulfate ', 'kg/m3', (/ ('', i = 1, 10) /))
    13531349  TYPE(ctrl_out), SAVE :: o_concno3 = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1354     'concno3', 'Concentration of Nitrate ', 'kg/m3', (/ ('', i=1, 10) /))
     1350          'concno3', 'Concentration of Nitrate ', 'kg/m3', (/ ('', i = 1, 10) /))
    13551351  TYPE(ctrl_out), SAVE :: o_concoa = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1356     'concoa', 'Concentration of Organic Aerosol ', 'kg/m3', (/ ('', i=1, 10) /))
     1352          'concoa', 'Concentration of Organic Aerosol ', 'kg/m3', (/ ('', i = 1, 10) /))
    13571353  TYPE(ctrl_out), SAVE :: o_concbc = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1358     'concbc', 'Concentration of Black Carbon ', 'kg/m3', (/ ('', i=1, 10) /))
     1354          'concbc', 'Concentration of Black Carbon ', 'kg/m3', (/ ('', i = 1, 10) /))
    13591355  TYPE(ctrl_out), SAVE :: o_concss = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1360     'concss', 'Concentration of Sea Salt ', 'kg/m3', (/ ('', i=1, 10) /))
     1356          'concss', 'Concentration of Sea Salt ', 'kg/m3', (/ ('', i = 1, 10) /))
    13611357  TYPE(ctrl_out), SAVE :: o_concdust = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1362     'concdust', 'Concentration of Dust ', 'kg/m3', (/ ('', i=1, 10) /))
     1358          'concdust', 'Concentration of Dust ', 'kg/m3', (/ ('', i = 1, 10) /))
    13631359  TYPE(ctrl_out), SAVE :: o_loadso4 = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1364     'loadso4', 'Column Load of Sulfate ', 'kg/m2', (/ ('', i=1, 10) /))
     1360          'loadso4', 'Column Load of Sulfate ', 'kg/m2', (/ ('', i = 1, 10) /))
    13651361  TYPE(ctrl_out), SAVE :: o_loadoa = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1366     'loadoa', 'Column Load of Organic Aerosol ', 'kg/m2', (/ ('', i=1, 10) /))
     1362          'loadoa', 'Column Load of Organic Aerosol ', 'kg/m2', (/ ('', i = 1, 10) /))
    13671363  TYPE(ctrl_out), SAVE :: o_loadbc = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1368     'loadbc', 'Column Load of Black Carbon ', 'kg/m2', (/ ('', i=1, 10) /))
     1364          'loadbc', 'Column Load of Black Carbon ', 'kg/m2', (/ ('', i = 1, 10) /))
    13691365  TYPE(ctrl_out), SAVE :: o_loadss = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1370     'loadss', 'Column Load of Sea Salt ', 'kg/m2', (/ ('', i=1, 10) /))
     1366          'loadss', 'Column Load of Sea Salt ', 'kg/m2', (/ ('', i = 1, 10) /))
    13711367  TYPE(ctrl_out), SAVE :: o_loaddust = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1372     'loaddust', 'Column Load of Dust ', 'kg/m2', (/ ('', i=1, 10) /))
     1368          'loaddust', 'Column Load of Dust ', 'kg/m2', (/ ('', i = 1, 10) /))
    13731369  TYPE(ctrl_out), SAVE :: o_loadno3 = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1374     'loadno3', 'Column Load of Nitrate ', 'kg/m2', (/ ('', i=1, 10) /))
     1370          'loadno3', 'Column Load of Nitrate ', 'kg/m2', (/ ('', i = 1, 10) /))
    13751371  TYPE(ctrl_out), SAVE :: o_swtoaas_nat = ctrl_out((/ 11, 11, 1, 11, 11, 11, 11, 11, 11, 11/), &
    1376     'swtoaas_nat', 'Natural aerosol radiative forcing all-sky at TOA', 'W/m2', (/ ('', i=1, 10) /))
     1372          'swtoaas_nat', 'Natural aerosol radiative forcing all-sky at TOA', 'W/m2', (/ ('', i = 1, 10) /))
    13771373  TYPE(ctrl_out), SAVE :: o_swsrfas_nat = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
    1378     'swsrfas_nat', 'Natural aerosol radiative forcing all-sky at SRF', 'W/m2', (/ ('', i=1, 10) /))
     1374          'swsrfas_nat', 'Natural aerosol radiative forcing all-sky at SRF', 'W/m2', (/ ('', i = 1, 10) /))
    13791375  TYPE(ctrl_out), SAVE :: o_swtoacs_nat = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
    1380     'swtoacs_nat', 'Natural aerosol radiative forcing clear-sky at TOA', 'W/m2', (/ ('', i=1, 10) /))
     1376          'swtoacs_nat', 'Natural aerosol radiative forcing clear-sky at TOA', 'W/m2', (/ ('', i = 1, 10) /))
    13811377  TYPE(ctrl_out), SAVE :: o_swsrfcs_nat = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
    1382     'swsrfcs_nat', 'Natural aerosol radiative forcing clear-sky at SRF', 'W/m2', (/ ('', i=1, 10) /))
     1378          'swsrfcs_nat', 'Natural aerosol radiative forcing clear-sky at SRF', 'W/m2', (/ ('', i = 1, 10) /))
    13831379  TYPE(ctrl_out), SAVE :: o_swtoaas_ant = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
    1384     'swtoaas_ant', 'Anthropogenic aerosol radiative forcing all-sky at TOA', 'W/m2', (/ ('', i=1, 10) /))
     1380          'swtoaas_ant', 'Anthropogenic aerosol radiative forcing all-sky at TOA', 'W/m2', (/ ('', i = 1, 10) /))
    13851381  TYPE(ctrl_out), SAVE :: o_swsrfas_ant = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
    1386     'swsrfas_ant', 'Anthropogenic aerosol radiative forcing all-sky at SRF', 'W/m2', (/ ('', i=1, 10) /))
     1382          'swsrfas_ant', 'Anthropogenic aerosol radiative forcing all-sky at SRF', 'W/m2', (/ ('', i = 1, 10) /))
    13871383  TYPE(ctrl_out), SAVE :: o_swtoacs_ant = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
    1388     'swtoacs_ant', 'Anthropogenic aerosol radiative forcing clear-sky at TOA', 'W/m2', (/ ('', i=1, 10) /))
     1384          'swtoacs_ant', 'Anthropogenic aerosol radiative forcing clear-sky at TOA', 'W/m2', (/ ('', i = 1, 10) /))
    13891385  TYPE(ctrl_out), SAVE :: o_swsrfcs_ant = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
    1390     'swsrfcs_ant', 'Anthropogenic aerosol radiative forcing clear-sky at SRF', 'W/m2', (/ ('', i=1, 10) /))
     1386          'swsrfcs_ant', 'Anthropogenic aerosol radiative forcing clear-sky at SRF', 'W/m2', (/ ('', i = 1, 10) /))
    13911387  TYPE(ctrl_out), SAVE :: o_swtoacf_nat = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
    1392     'swtoacf_nat', 'Natural aerosol impact on cloud radiative forcing at TOA', 'W/m2', (/ ('', i=1, 10) /))
     1388          'swtoacf_nat', 'Natural aerosol impact on cloud radiative forcing at TOA', 'W/m2', (/ ('', i = 1, 10) /))
    13931389  TYPE(ctrl_out), SAVE :: o_swsrfcf_nat = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
    1394     'swsrfcf_nat', 'Natural aerosol impact on cloud radiative forcing  at SRF', 'W/m2', (/ ('', i=1, 10) /))
     1390          'swsrfcf_nat', 'Natural aerosol impact on cloud radiative forcing  at SRF', 'W/m2', (/ ('', i = 1, 10) /))
    13951391  TYPE(ctrl_out), SAVE :: o_swtoacf_ant = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
    1396     'swtoacf_ant', 'Anthropogenic aerosol impact on cloud radiative forcing at TOA', 'W/m2', (/ ('', i=1, 10) /))
     1392          'swtoacf_ant', 'Anthropogenic aerosol impact on cloud radiative forcing at TOA', 'W/m2', (/ ('', i = 1, 10) /))
    13971393  TYPE(ctrl_out), SAVE :: o_swsrfcf_ant = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
    1398     'swsrfcf_ant', 'Anthropogenic aerosol impact on cloud radiative forcing at SRF', 'W/m2', (/ ('', i=1, 10) /))
     1394          'swsrfcf_ant', 'Anthropogenic aerosol impact on cloud radiative forcing at SRF', 'W/m2', (/ ('', i = 1, 10) /))
    13991395  TYPE(ctrl_out), SAVE :: o_swtoacf_zero = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
    1400     'swtoacf_zero', 'Cloud radiative forcing (allsky-clearsky fluxes) at TOA', 'W/m2', (/ ('', i=1, 10) /))
     1396          'swtoacf_zero', 'Cloud radiative forcing (allsky-clearsky fluxes) at TOA', 'W/m2', (/ ('', i = 1, 10) /))
    14011397  TYPE(ctrl_out), SAVE :: o_swsrfcf_zero = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
    1402     'swsrfcf_zero', 'Cloud radiative forcing (allsky-clearsky fluxes) at SRF', 'W/m2', (/ ('', i=1, 10) /))
     1398          'swsrfcf_zero', 'Cloud radiative forcing (allsky-clearsky fluxes) at SRF', 'W/m2', (/ ('', i = 1, 10) /))
    14031399  TYPE(ctrl_out), SAVE :: o_cldncl = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1404     'cldncl', 'CDNC at top of liquid water cloud', 'm-3', (/ ('', i=1, 10) /))
     1400          'cldncl', 'CDNC at top of liquid water cloud', 'm-3', (/ ('', i = 1, 10) /))
    14051401  TYPE(ctrl_out), SAVE :: o_reffclwtop = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1406     'reffclwtop', 'Droplet effective radius at top of liquid water cloud', 'm', (/ ('', i=1, 10) /))
     1402          'reffclwtop', 'Droplet effective radius at top of liquid water cloud', 'm', (/ ('', i = 1, 10) /))
    14071403  TYPE(ctrl_out), SAVE :: o_cldnvi = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1408     'cldnvi', 'Column Integrated Cloud Droplet Number', 'm-2', (/ ('', i=1, 10) /))
     1404          'cldnvi', 'Column Integrated Cloud Droplet Number', 'm-2', (/ ('', i = 1, 10) /))
    14091405  TYPE(ctrl_out), SAVE :: o_lcc = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1410     'lcc', 'Cloud liquid fraction at top of cloud', '1', (/ ('', i=1, 10) /))
    1411 
    1412 !--tropopause pressure
     1406          'lcc', 'Cloud liquid fraction at top of cloud', '1', (/ ('', i = 1, 10) /))
     1407
     1408  !--tropopause pressure
    14131409  TYPE(ctrl_out), SAVE :: o_p_tropopause = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
    1414     'p_tropopause', 'Tropopause pressure', 'Pa', (/ ('', i=1, 10) /))
    1415 !--tropopause height
     1410          'p_tropopause', 'Tropopause pressure', 'Pa', (/ ('', i = 1, 10) /))
     1411  !--tropopause height
    14161412  TYPE(ctrl_out), SAVE :: o_z_tropopause = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
    1417     'z_tropopause', 'Tropopause height', 'm', (/ ('', i=1, 10) /))
    1418 !--tropopause temperature
     1413          'z_tropopause', 'Tropopause height', 'm', (/ ('', i = 1, 10) /))
     1414  !--tropopause temperature
    14191415  TYPE(ctrl_out), SAVE :: o_t_tropopause = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
    1420     't_tropopause', 'Tropopause temperature', 'K', (/ ('', i=1, 10) /))
    1421 !--Added ThL
     1416          't_tropopause', 'Tropopause temperature', 'K', (/ ('', i = 1, 10) /))
     1417  !--Added ThL
    14221418  TYPE(ctrl_out), SAVE :: o_col_O3_strato = ctrl_out((/2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1423     'colO3_strat','Ozone stratospheric column', 'DU', (/('', i=1, 10) /))
     1419          'colO3_strat', 'Ozone stratospheric column', 'DU', (/('', i = 1, 10) /))
    14241420  TYPE(ctrl_out), SAVE :: o_col_O3_tropo = ctrl_out((/2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1425     'colO3_trop','Ozone tropospheric column', 'DU', (/('', i=1, 10) /))
    1426 !--end add ThL
    1427 
    1428 !---CO2 fluxes for interactive CO2 configuration
     1421          'colO3_trop', 'Ozone tropospheric column', 'DU', (/('', i = 1, 10) /))
     1422  !--end add ThL
     1423
     1424  !---CO2 fluxes for interactive CO2 configuration
    14291425  TYPE(ctrl_out), SAVE :: o_flx_co2_ff = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
    1430     'flx_co2_ff', 'CO2 flux from fossil fuel and cement', '1', (/ ('', i=1, 10) /))
     1426          'flx_co2_ff', 'CO2 flux from fossil fuel and cement', '1', (/ ('', i = 1, 10) /))
    14311427  TYPE(ctrl_out), SAVE :: o_flx_co2_bb = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
    1432     'flx_co2_bb', 'CO2 flux from biomass burning', '1', (/ ('', i=1, 10) /))
     1428          'flx_co2_bb', 'CO2 flux from biomass burning', '1', (/ ('', i = 1, 10) /))
    14331429  TYPE(ctrl_out), SAVE :: o_flx_co2_ocean = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
    1434     'flx_co2_ocean', 'CO2 flux from the ocean', '1', (/ ('', i=1, 10) /))
     1430          'flx_co2_ocean', 'CO2 flux from the ocean', '1', (/ ('', i = 1, 10) /))
    14351431  TYPE(ctrl_out), SAVE :: o_flx_co2_land = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
    1436     'flx_co2_land', 'CO2 flux from the land', '1', (/ ('', i=1, 10) /))
     1432          'flx_co2_land', 'CO2 flux from the land', '1', (/ ('', i = 1, 10) /))
    14371433  TYPE(ctrl_out), SAVE :: o_flx_co2_ocean_cor = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
    1438     'flx_co2_ocean_cor', 'correction of the CO2 flux from the ocean', 'kg CO2 m-2 s-1', (/ ('', i=1, 10) /))
     1434          'flx_co2_ocean_cor', 'correction of the CO2 flux from the ocean', 'kg CO2 m-2 s-1', (/ ('', i = 1, 10) /))
    14391435  TYPE(ctrl_out), SAVE :: o_flx_co2_land_cor = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
    1440     'flx_co2_land_cor', 'correction of the CO2 flux from the land', 'kg CO2 m-2 s-1', (/ ('', i=1, 10) /))
    1441 
    1442 !--extinction coefficient
     1436          'flx_co2_land_cor', 'correction of the CO2 flux from the land', 'kg CO2 m-2 s-1', (/ ('', i = 1, 10) /))
     1437
     1438  !--extinction coefficient
    14431439  TYPE(ctrl_out), SAVE :: o_ext_strat_550 = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
    1444     'ext_strat_550', 'Strat. aerosol extinction coefficient at 550 nm', '1/m', (/ ('', i=1, 10) /))
     1440          'ext_strat_550', 'Strat. aerosol extinction coefficient at 550 nm', '1/m', (/ ('', i = 1, 10) /))
    14451441  TYPE(ctrl_out), SAVE :: o_ext_strat_1020 = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
    1446     'ext_strat_1020', 'Strat. aerosol extinction coefficient at 1020 nm', '1/m', (/ ('', i=1, 10) /))
    1447 !--strat aerosol optical depth
     1442          'ext_strat_1020', 'Strat. aerosol extinction coefficient at 1020 nm', '1/m', (/ ('', i = 1, 10) /))
     1443  !--strat aerosol optical depth
    14481444  TYPE(ctrl_out), SAVE :: o_tau_strat_550 = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
    1449     'OD550_strat_only', 'Stratospheric Aerosol Optical depth at 550 nm ', '1', (/ ('', i=1, 10) /))
     1445          'OD550_strat_only', 'Stratospheric Aerosol Optical depth at 550 nm ', '1', (/ ('', i = 1, 10) /))
    14501446  TYPE(ctrl_out), SAVE :: o_tau_strat_1020 = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
    1451     'OD1020_strat_only', 'Stratospheric Aerosol Optical depth at 1020 nm ', '1', (/ ('', i=1, 10) /))
    1452 !--chemistry
     1447          'OD1020_strat_only', 'Stratospheric Aerosol Optical depth at 1020 nm ', '1', (/ ('', i = 1, 10) /))
     1448  !--chemistry
    14531449  TYPE(ctrl_out), SAVE :: o_R2SO4 = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
    1454     'R2SO4', 'H2SO4 mass fraction in aerosol', '%', (/ ('', i=1, 10) /))
     1450          'R2SO4', 'H2SO4 mass fraction in aerosol', '%', (/ ('', i = 1, 10) /))
    14551451  TYPE(ctrl_out), SAVE :: o_OCS_lifetime = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
    1456     'OCS_lifetime', 'OCS lifetime', 's', (/ ('', i=1, 10) /))
     1452          'OCS_lifetime', 'OCS lifetime', 's', (/ ('', i = 1, 10) /))
    14571453  TYPE(ctrl_out), SAVE :: o_SO2_lifetime = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
    1458     'SO2_lifetime', 'SO2 lifetime', 's', (/ ('', i=1, 10) /))
     1454          'SO2_lifetime', 'SO2 lifetime', 's', (/ ('', i = 1, 10) /))
    14591455  TYPE(ctrl_out), SAVE :: o_f_r_wet = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
    1460     'f_r_wet', 'Conversion factor dry to wet aerosol radius', '-', (/ ('', i=1, 10) /))
    1461 !--budget  3D
     1456          'f_r_wet', 'Conversion factor dry to wet aerosol radius', '-', (/ ('', i = 1, 10) /))
     1457  !--budget  3D
    14621458  TYPE(ctrl_out), SAVE :: o_budg_3D_nucl = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
    1463     'budg_3D_nucl', 'H2SO4 nucleation mass flux', 'kg(S)/m2/layer/s', (/ ('', i=1, 10) /))
     1459          'budg_3D_nucl', 'H2SO4 nucleation mass flux', 'kg(S)/m2/layer/s', (/ ('', i = 1, 10) /))
    14641460  TYPE(ctrl_out), SAVE :: o_budg_3D_cond_evap = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
    1465     'budg_3D_cond_evap', 'H2SO4 condensation/evaporation mass flux', 'kg(S)/m2/layer/s', (/ ('', i=1, 10) /))
     1461          'budg_3D_cond_evap', 'H2SO4 condensation/evaporation mass flux', 'kg(S)/m2/layer/s', (/ ('', i = 1, 10) /))
    14661462  TYPE(ctrl_out), SAVE :: o_budg_3D_ocs_to_so2 = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
    1467     'budg_3D_ocs_to_so2', 'OCS mass flux converted to SO2', 'kg(S)/m2/layer/s', (/ ('', i=1, 10) /))
     1463          'budg_3D_ocs_to_so2', 'OCS mass flux converted to SO2', 'kg(S)/m2/layer/s', (/ ('', i = 1, 10) /))
    14681464  TYPE(ctrl_out), SAVE :: o_budg_3D_so2_to_h2so4 = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
    1469     'budg_3D_so2_to_h2so4', 'SO2 mass flux converted to H2SO4', 'kg(S)/m2/layer/s', (/ ('', i=1, 10) /))
     1465          'budg_3D_so2_to_h2so4', 'SO2 mass flux converted to H2SO4', 'kg(S)/m2/layer/s', (/ ('', i = 1, 10) /))
    14701466  TYPE(ctrl_out), SAVE :: o_budg_3D_backgr_ocs = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
    1471     'budg_3D_backgr_ocs', 'OCS background tendency', 'kg(S)/m2/layer/s', (/ ('', i=1, 10) /))
     1467          'budg_3D_backgr_ocs', 'OCS background tendency', 'kg(S)/m2/layer/s', (/ ('', i = 1, 10) /))
    14721468  TYPE(ctrl_out), SAVE :: o_budg_3D_backgr_so2 = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
    1473     'budg_3D_backgr_so2', 'SO2 background tendency', 'kg(S)/m2/layer/s', (/ ('', i=1, 10) /))
     1469          'budg_3D_backgr_so2', 'SO2 background tendency', 'kg(S)/m2/layer/s', (/ ('', i = 1, 10) /))
    14741470  TYPE(ctrl_out), SAVE :: o_vsed_aer = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
    1475     'vsed_aer', 'Strat. aerosol sedimentation velocity (mass-weighted)', 'm/s', (/ ('', i=1, 10) /))
    1476 !--budget  2D
     1471          'vsed_aer', 'Strat. aerosol sedimentation velocity (mass-weighted)', 'm/s', (/ ('', i = 1, 10) /))
     1472  !--budget  2D
    14771473  TYPE(ctrl_out), SAVE :: o_budg_dep_dry_ocs = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
    1478     'budg_dep_dry_ocs',   'OCS dry deposition flux', 'kg(S)/m2/s', (/ ('', i=1, 10) /))
     1474          'budg_dep_dry_ocs', 'OCS dry deposition flux', 'kg(S)/m2/s', (/ ('', i = 1, 10) /))
    14791475  TYPE(ctrl_out), SAVE :: o_budg_dep_wet_ocs = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
    1480     'budg_dep_wet_ocs',   'OCS wet deposition flux', 'kg(S)/m2/s', (/ ('', i=1, 10) /))
     1476          'budg_dep_wet_ocs', 'OCS wet deposition flux', 'kg(S)/m2/s', (/ ('', i = 1, 10) /))
    14811477  TYPE(ctrl_out), SAVE :: o_budg_dep_dry_so2 = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
    1482     'budg_dep_dry_so2',   'SO2 dry deposition flux', 'kg(S)/m2/s', (/ ('', i=1, 10) /))
     1478          'budg_dep_dry_so2', 'SO2 dry deposition flux', 'kg(S)/m2/s', (/ ('', i = 1, 10) /))
    14831479  TYPE(ctrl_out), SAVE :: o_budg_dep_wet_so2 = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
    1484     'budg_dep_wet_so2',   'SO2 wet deposition flux', 'kg(S)/m2/s', (/ ('', i=1, 10) /))
     1480          'budg_dep_wet_so2', 'SO2 wet deposition flux', 'kg(S)/m2/s', (/ ('', i = 1, 10) /))
    14851481  TYPE(ctrl_out), SAVE :: o_budg_dep_dry_h2so4 = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
    1486     'budg_dep_dry_h2so4', 'H2SO4 dry deposition flux', 'kg(S)/m2/s', (/ ('', i=1, 10) /))
     1482          'budg_dep_dry_h2so4', 'H2SO4 dry deposition flux', 'kg(S)/m2/s', (/ ('', i = 1, 10) /))
    14871483  TYPE(ctrl_out), SAVE :: o_budg_dep_wet_h2so4 = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
    1488     'budg_dep_wet_h2so4', 'H2SO4 wet deposition flux', 'kg(S)/m2/s', (/ ('', i=1, 10) /))
     1484          'budg_dep_wet_h2so4', 'H2SO4 wet deposition flux', 'kg(S)/m2/s', (/ ('', i = 1, 10) /))
    14891485  TYPE(ctrl_out), SAVE :: o_budg_dep_dry_part = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
    1490     'budg_dep_dry_part', 'particle dry deposition flux', 'kg(S)/m2/s', (/ ('', i=1, 10) /))
     1486          'budg_dep_dry_part', 'particle dry deposition flux', 'kg(S)/m2/s', (/ ('', i = 1, 10) /))
    14911487  TYPE(ctrl_out), SAVE :: o_budg_dep_wet_part = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
    1492     'budg_dep_wet_part', 'particle wet deposition flux', 'kg(S)/m2/s', (/ ('', i=1, 10) /))
     1488          'budg_dep_wet_part', 'particle wet deposition flux', 'kg(S)/m2/s', (/ ('', i = 1, 10) /))
    14931489  TYPE(ctrl_out), SAVE :: o_budg_emi_ocs = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
    1494     'budg_emi_ocs', 'OCS emission flux', 'kg(S)/m2/s', (/ ('', i=1, 10) /))
     1490          'budg_emi_ocs', 'OCS emission flux', 'kg(S)/m2/s', (/ ('', i = 1, 10) /))
    14951491  TYPE(ctrl_out), SAVE :: o_budg_emi_so2 = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
    1496     'budg_emi_so2', 'SO2 emission flux', 'kg(S)/m2/s', (/ ('', i=1, 10) /))
     1492          'budg_emi_so2', 'SO2 emission flux', 'kg(S)/m2/s', (/ ('', i = 1, 10) /))
    14971493  TYPE(ctrl_out), SAVE :: o_budg_emi_h2so4 = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
    1498     'budg_emi_h2so4', 'H2SO4 emission flux', 'kg(S)/m2/s', (/ ('', i=1, 10) /))
     1494          'budg_emi_h2so4', 'H2SO4 emission flux', 'kg(S)/m2/s', (/ ('', i = 1, 10) /))
    14991495  TYPE(ctrl_out), SAVE :: o_budg_emi_part = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
    1500     'budg_emi_part', 'Particle emission flux', 'kg(S)/m2/s', (/ ('', i=1, 10) /))
     1496          'budg_emi_part', 'Particle emission flux', 'kg(S)/m2/s', (/ ('', i = 1, 10) /))
    15011497  TYPE(ctrl_out), SAVE :: o_budg_ocs_to_so2 = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
    1502     'budg_ocs_to_so2', 'OCS to SO2 flux', 'kg(S)/m2/s', (/ ('', i=1, 10) /))
     1498          'budg_ocs_to_so2', 'OCS to SO2 flux', 'kg(S)/m2/s', (/ ('', i = 1, 10) /))
    15031499  TYPE(ctrl_out), SAVE :: o_budg_so2_to_h2so4 = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
    1504     'budg_so2_to_h2so4', 'SO2 to H2SO4 flux', 'kg(S)/m2/s', (/ ('', i=1, 10) /))
     1500          'budg_so2_to_h2so4', 'SO2 to H2SO4 flux', 'kg(S)/m2/s', (/ ('', i = 1, 10) /))
    15051501  TYPE(ctrl_out), SAVE :: o_budg_h2so4_to_part = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
    1506     'budg_h2so4_to_part', 'H2SO4 to part flux', 'kg(S)/m2/s', (/ ('', i=1, 10) /))
     1502          'budg_h2so4_to_part', 'H2SO4 to part flux', 'kg(S)/m2/s', (/ ('', i = 1, 10) /))
    15071503  TYPE(ctrl_out), SAVE :: o_budg_sed_part = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
    1508     'budg_sed_part', 'Ground sedimentation flux of strat. particles', 'kg(S)/m2/s', (/ ('', i=1, 10) /))
    1509 !--surface PM25 due to strat aerosol
     1504          'budg_sed_part', 'Ground sedimentation flux of strat. particles', 'kg(S)/m2/s', (/ ('', i = 1, 10) /))
     1505  !--surface PM25 due to strat aerosol
    15101506  TYPE(ctrl_out), SAVE :: o_surf_PM25_sulf = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
    1511     'surf_PM25_sulf', 'Sulfate PM2.5 concentration at the surface', 'ug/m3', (/ ('', i=1, 10) /))
    1512 
    1513 !!!!!!!!!!!!!!!!!!!!!! 3D !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
     1507          'surf_PM25_sulf', 'Sulfate PM2.5 concentration at the surface', 'ug/m3', (/ ('', i = 1, 10) /))
     1508
     1509  !!!!!!!!!!!!!!!!!!!!!! 3D !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    15141510  TYPE(ctrl_out), SAVE :: o_ec550aer = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1515     'ec550aer', 'Extinction at 550nm', 'm^-1', (/ ('', i=1, 10) /))
     1511          'ec550aer', 'Extinction at 550nm', 'm^-1', (/ ('', i = 1, 10) /))
    15161512  TYPE(ctrl_out), SAVE :: o_lwcon = ctrl_out((/ 2, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1517     'lwcon', 'Cloud liquid water content seen by radiation', 'kg/kg', (/ ('', i=1, 10) /))
     1513          'lwcon', 'Cloud liquid water content seen by radiation', 'kg/kg', (/ ('', i = 1, 10) /))
    15181514  TYPE(ctrl_out), SAVE :: o_iwcon = ctrl_out((/ 2, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1519     'iwcon', 'Cloud ice water content seen by radiation', 'kg/kg', (/ ('', i=1, 10) /))
     1515          'iwcon', 'Cloud ice water content seen by radiation', 'kg/kg', (/ ('', i = 1, 10) /))
    15201516  TYPE(ctrl_out), SAVE :: o_temp = ctrl_out((/ 2, 3, 4, 10, 10, 10, 11, 11, 11, 11/), &
    1521     'temp', 'Air temperature', 'K', (/ ('', i=1, 10) /))
     1517          'temp', 'Air temperature', 'K', (/ ('', i = 1, 10) /))
    15221518  TYPE(ctrl_out), SAVE :: o_heat_volc = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1523     'heat_volc', 'SW heating rate due to volcano', 'K/s', (/ ('', i=1, 10) /))
     1519          'heat_volc', 'SW heating rate due to volcano', 'K/s', (/ ('', i = 1, 10) /))
    15241520  TYPE(ctrl_out), SAVE :: o_cool_volc = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1525     'cool_volc', 'LW cooling rate due to volcano', 'K/s', (/ ('', i=1, 10) /))
     1521          'cool_volc', 'LW cooling rate due to volcano', 'K/s', (/ ('', i = 1, 10) /))
    15261522  TYPE(ctrl_out), SAVE :: o_theta = ctrl_out((/ 2, 3, 4, 10, 10, 10, 11, 11, 11, 11/), &
    1527     'theta', 'Potential air temperature', 'K', (/ ('', i=1, 10) /))
     1523          'theta', 'Potential air temperature', 'K', (/ ('', i = 1, 10) /))
    15281524  TYPE(ctrl_out), SAVE :: o_ovap = ctrl_out((/ 2, 3, 4, 10, 10, 10, 11, 11, 11, 11/), &
    1529     'ovap', 'Specific humidity', 'kg/kg', (/ ('', i=1, 10) /))
     1525          'ovap', 'Specific humidity', 'kg/kg', (/ ('', i = 1, 10) /))
    15301526  TYPE(ctrl_out), SAVE :: o_ovapinit = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1531     'ovapinit', 'Specific humidity (begin of timestep)', 'kg/kg', (/ ('', i=1, 10) /))
     1527          'ovapinit', 'Specific humidity (begin of timestep)', 'kg/kg', (/ ('', i = 1, 10) /))
    15321528  TYPE(ctrl_out), SAVE :: o_oliq = ctrl_out((/ 2, 3, 4, 10, 10, 10, 11, 11, 11, 11/), &
    1533     'oliq', 'Liquid water', 'kg/kg', (/ ('', i=1, 10) /))
     1529          'oliq', 'Liquid water', 'kg/kg', (/ ('', i = 1, 10) /))
    15341530  TYPE(ctrl_out), SAVE :: o_ocond = ctrl_out((/ 2, 3, 4, 10, 10, 10, 11, 11, 11, 11/), &
    1535     'ocond', 'Condensed water', 'kg/kg', (/ ('', i=1, 10) /))
     1531          'ocond', 'Condensed water', 'kg/kg', (/ ('', i = 1, 10) /))
    15361532  TYPE(ctrl_out), SAVE :: o_qbs = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1537     'qbs', 'Specific content of blowing snow', 'kg/kg', (/ ('', i=1, 10) /))
     1533          'qbs', 'Specific content of blowing snow', 'kg/kg', (/ ('', i = 1, 10) /))
    15381534  TYPE(ctrl_out), SAVE :: o_wvapp = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1539     'wvapp', '', '', (/ ('', i=1, 10) /))
     1535          'wvapp', '', '', (/ ('', i = 1, 10) /))
    15401536  TYPE(ctrl_out), SAVE :: o_geop = ctrl_out((/ 2, 3, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1541     'geop', 'Geopotential height', 'm2/s2', (/ ('', i=1, 10) /))
     1537          'geop', 'Geopotential height', 'm2/s2', (/ ('', i = 1, 10) /))
    15421538  TYPE(ctrl_out), SAVE :: o_vitu = ctrl_out((/ 2, 3, 4, 6, 10, 10, 11, 11, 11, 11/), &
    1543     'vitu', 'Zonal wind', 'm/s', (/ ('', i=1, 10) /))
     1539          'vitu', 'Zonal wind', 'm/s', (/ ('', i = 1, 10) /))
    15441540  TYPE(ctrl_out), SAVE :: o_vitv = ctrl_out((/ 2, 3, 4, 6, 10, 10, 11, 11, 11, 11/), &
    1545     'vitv', 'Meridional wind', 'm/s', (/ ('', i=1, 10) /))
     1541          'vitv', 'Meridional wind', 'm/s', (/ ('', i = 1, 10) /))
    15461542  TYPE(ctrl_out), SAVE :: o_vitw = ctrl_out((/ 2, 3, 10, 6, 10, 10, 11, 11, 11, 11/), &
    1547     'vitw', 'Vertical wind', 'Pa/s', (/ ('', i=1, 10) /))
     1543          'vitw', 'Vertical wind', 'Pa/s', (/ ('', i = 1, 10) /))
    15481544  TYPE(ctrl_out), SAVE :: o_pres = ctrl_out((/ 2, 3, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1549     'pres', 'Air pressure', 'Pa', (/ ('', i=1, 10) /))
     1545          'pres', 'Air pressure', 'Pa', (/ ('', i = 1, 10) /))
    15501546  TYPE(ctrl_out), SAVE :: o_paprs = ctrl_out((/ 2, 3, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1551     'paprs', 'Air pressure Inter-Couches', 'Pa', (/ ('', i=1, 10) /))
     1547          'paprs', 'Air pressure Inter-Couches', 'Pa', (/ ('', i = 1, 10) /))
    15521548  TYPE(ctrl_out), SAVE :: o_mass = ctrl_out((/ 2, 3, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1553     'mass', 'Masse Couches', 'kg/m2', (/ ('', i=1, 10) /))
     1549          'mass', 'Masse Couches', 'kg/m2', (/ ('', i = 1, 10) /))
    15541550  TYPE(ctrl_out), SAVE :: o_zfull = ctrl_out((/ 2, 3, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1555     'zfull', 'Altitude of full pressure levels', 'm', (/ ('', i=1, 10) /))
     1551          'zfull', 'Altitude of full pressure levels', 'm', (/ ('', i = 1, 10) /))
    15561552  TYPE(ctrl_out), SAVE :: o_zhalf = ctrl_out((/ 2, 3, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1557     'zhalf', 'Altitude of half pressure levels', 'm', (/ ('', i=1, 10) /))
     1553          'zhalf', 'Altitude of half pressure levels', 'm', (/ ('', i = 1, 10) /))
    15581554  TYPE(ctrl_out), SAVE :: o_rneb = ctrl_out((/ 2, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1559     'rneb', 'Cloud fraction', '-', (/ ('', i=1, 10) /))
     1555          'rneb', 'Cloud fraction', '-', (/ ('', i = 1, 10) /))
    15601556  TYPE(ctrl_out), SAVE :: o_cldfraliq = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
    1561     'cldfraliq', 'Liquid fraction of the cloud', '-', (/ ('', i=1, 10) /))
     1557          'cldfraliq', 'Liquid fraction of the cloud', '-', (/ ('', i = 1, 10) /))
    15621558  TYPE(ctrl_out), SAVE :: o_sigma2_icefracturb = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
    1563     'sigma2_icefracturb', 'Variance of the diagnostic supersaturation distribution (icefrac_turb) [-]', '-', (/ ('', i=1, 10) /))
     1559          'sigma2_icefracturb', 'Variance of the diagnostic supersaturation distribution (icefrac_turb) [-]', '-', (/ ('', i = 1, 10) /))
    15641560  TYPE(ctrl_out), SAVE :: o_mean_icefracturb = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
    1565     'mean_icefracturb', 'Mean of the diagnostic supersaturation distribution (icefrac_turb) [-]', '-', (/ ('', i=1, 10) /))
    1566  
    1567   TYPE(ctrl_out), SAVE :: o_rnebjn = ctrl_out((/ 2, 5, 10, 10, 10, 10, 11, 11,11, 11/), &     
    1568     'rnebjn', 'Cloud fraction in day', '-', (/ ('', i=1, 10) /))
     1561          'mean_icefracturb', 'Mean of the diagnostic supersaturation distribution (icefrac_turb) [-]', '-', (/ ('', i = 1, 10) /))
     1562
     1563  TYPE(ctrl_out), SAVE :: o_rnebjn = ctrl_out((/ 2, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1564          'rnebjn', 'Cloud fraction in day', '-', (/ ('', i = 1, 10) /))
    15691565  TYPE(ctrl_out), SAVE :: o_rnebcon = ctrl_out((/ 2, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1570     'rnebcon', 'Convective Cloud Fraction', '-', (/ ('', i=1, 10) /))
     1566          'rnebcon', 'Convective Cloud Fraction', '-', (/ ('', i = 1, 10) /))
    15711567  TYPE(ctrl_out), SAVE :: o_rnebls = ctrl_out((/ 2, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1572     'rnebls', 'LS Cloud fraction', '-', (/ ('', i=1, 10) /))
     1568          'rnebls', 'LS Cloud fraction', '-', (/ ('', i = 1, 10) /))
    15731569  TYPE(ctrl_out), SAVE :: o_rneblsvol = ctrl_out((/ 2, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1574     'rneblsvol', 'LS Cloud fraction by volume', '-', (/ ('', i=1, 10) /))
     1570          'rneblsvol', 'LS Cloud fraction by volume', '-', (/ ('', i = 1, 10) /))
    15751571  TYPE(ctrl_out), SAVE :: o_pfraclr = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
    1576     'pfraclr', 'LS precipitation fraction clear-sky part', '-', (/ ('', i=1, 10) /))
     1572          'pfraclr', 'LS precipitation fraction clear-sky part', '-', (/ ('', i = 1, 10) /))
    15771573  TYPE(ctrl_out), SAVE :: o_pfracld = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
    1578     'pfracld', 'LS precipitation fraction cloudy part', '-', (/ ('', i=1, 10) /))
     1574          'pfracld', 'LS precipitation fraction cloudy part', '-', (/ ('', i = 1, 10) /))
    15791575  TYPE(ctrl_out), SAVE :: o_qrainlsc = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
    1580     'qrainlsc', 'LS specific rain content', 'kg/kg', (/ ('', i=1, 10) /))
     1576          'qrainlsc', 'LS specific rain content', 'kg/kg', (/ ('', i = 1, 10) /))
    15811577  TYPE(ctrl_out), SAVE :: o_qsnowlsc = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
    1582     'qsnowlsc', 'LS specific snow content', 'kg/kg', (/ ('', i=1, 10) /))
     1578          'qsnowlsc', 'LS specific snow content', 'kg/kg', (/ ('', i = 1, 10) /))
    15831579  TYPE(ctrl_out), SAVE :: o_dqreva = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
    1584     'dqreva', 'LS rain tendency due to evaporation', 'kg/kg/s', (/ ('', i=1, 10) /))
    1585    TYPE(ctrl_out), SAVE :: o_dqrauto = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
    1586     'dqrauto', 'LS rain tendency due to autoconversion', 'kg/kg/s', (/ ('', i=1, 10) /))
     1580          'dqreva', 'LS rain tendency due to evaporation', 'kg/kg/s', (/ ('', i = 1, 10) /))
     1581  TYPE(ctrl_out), SAVE :: o_dqrauto = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
     1582          'dqrauto', 'LS rain tendency due to autoconversion', 'kg/kg/s', (/ ('', i = 1, 10) /))
    15871583  TYPE(ctrl_out), SAVE :: o_dqrcol = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
    1588     'dqrcol', 'LS rain tendency due to collection', 'kg/kg/s', (/ ('', i=1, 10) /))
     1584          'dqrcol', 'LS rain tendency due to collection', 'kg/kg/s', (/ ('', i = 1, 10) /))
    15891585  TYPE(ctrl_out), SAVE :: o_dqrmelt = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
    1590     'dqrmelt', 'LS rain tendency due to melting', 'kg/kg/s', (/ ('', i=1, 10) /))
     1586          'dqrmelt', 'LS rain tendency due to melting', 'kg/kg/s', (/ ('', i = 1, 10) /))
    15911587  TYPE(ctrl_out), SAVE :: o_dqrfreez = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
    1592     'dqrfreez', 'LS rain tendency due to freezing', 'kg/kg/s', (/ ('', i=1, 10) /))
     1588          'dqrfreez', 'LS rain tendency due to freezing', 'kg/kg/s', (/ ('', i = 1, 10) /))
    15931589  TYPE(ctrl_out), SAVE :: o_dqssub = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
    1594     'dqssub', 'LS snow tendency due to sublimation', 'kg/kg/s', (/ ('', i=1, 10) /))
     1590          'dqssub', 'LS snow tendency due to sublimation', 'kg/kg/s', (/ ('', i = 1, 10) /))
    15951591  TYPE(ctrl_out), SAVE :: o_dqsauto = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
    1596     'dqsauto', 'LS snow tendency due to autoconversion', 'kg/kg/s', (/ ('', i=1, 10) /))
     1592          'dqsauto', 'LS snow tendency due to autoconversion', 'kg/kg/s', (/ ('', i = 1, 10) /))
    15971593  TYPE(ctrl_out), SAVE :: o_dqsagg = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
    1598     'dqsagg', 'LS snow tendency due to aggregation', 'kg/kg/s', (/ ('', i=1, 10) /))
     1594          'dqsagg', 'LS snow tendency due to aggregation', 'kg/kg/s', (/ ('', i = 1, 10) /))
    15991595  TYPE(ctrl_out), SAVE :: o_dqsrim = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
    1600     'dqsrim', 'LS snow tendency due to riming', 'kg/kg/s', (/ ('', i=1, 10) /))
     1596          'dqsrim', 'LS snow tendency due to riming', 'kg/kg/s', (/ ('', i = 1, 10) /))
    16011597  TYPE(ctrl_out), SAVE :: o_dqsmelt = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
    1602     'dqsmelt', 'LS snow tendency due to melting', 'kg/kg/s', (/ ('', i=1, 10) /))
     1598          'dqsmelt', 'LS snow tendency due to melting', 'kg/kg/s', (/ ('', i = 1, 10) /))
    16031599  TYPE(ctrl_out), SAVE :: o_dqsfreez = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
    1604     'dqsfreez', 'LS snow tendency due to freezing', 'kg/kg/s', (/ ('', i=1, 10) /))
     1600          'dqsfreez', 'LS snow tendency due to freezing', 'kg/kg/s', (/ ('', i = 1, 10) /))
    16051601  TYPE(ctrl_out), SAVE :: o_rhum = ctrl_out((/ 2, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1606     'rhum', 'Relative humidity', '-', (/ ('', i=1, 10) /))
     1602          'rhum', 'Relative humidity', '-', (/ ('', i = 1, 10) /))
    16071603  TYPE(ctrl_out), SAVE :: o_rhl = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1608     'rhl', 'Relative humidity wrt liquid', '%', (/ ('', i=1, 10) /))
     1604          'rhl', 'Relative humidity wrt liquid', '%', (/ ('', i = 1, 10) /))
    16091605  TYPE(ctrl_out), SAVE :: o_rhi = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1610     'rhi', 'Relative humidity wrt ice', '%', (/ ('', i=1, 10) /))
     1606          'rhi', 'Relative humidity wrt ice', '%', (/ ('', i = 1, 10) /))
    16111607  TYPE(ctrl_out), SAVE :: o_ozone = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1612     'ozone', 'Ozone mole fraction', '-', (/ ('', i=1, 10) /))
     1608          'ozone', 'Ozone mole fraction', '-', (/ ('', i = 1, 10) /))
    16131609  TYPE(ctrl_out), SAVE :: o_ozone_light = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1614     'ozone_daylight', 'Daylight ozone mole fraction', '-', (/ ('', i=1, 10) /))
     1610          'ozone_daylight', 'Daylight ozone mole fraction', '-', (/ ('', i = 1, 10) /))
    16151611  TYPE(ctrl_out), SAVE :: o_upwd = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1616     'upwd', 'saturated updraft', 'kg/m2/s', (/ ('', i=1, 10) /))
     1612          'upwd', 'saturated updraft', 'kg/m2/s', (/ ('', i = 1, 10) /))
    16171613  TYPE(ctrl_out), SAVE :: o_epmax_diag = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1618     'epmax', 'epmax en fn cape', 'su', (/ ('', i=1, 10) /))
     1614          'epmax', 'epmax en fn cape', 'su', (/ ('', i = 1, 10) /))
    16191615  TYPE(ctrl_out), SAVE :: o_ep = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1620     'ep', 'ep', 'su', (/ ('', i=1, 10) /))
     1616          'ep', 'ep', 'su', (/ ('', i = 1, 10) /))
    16211617  TYPE(ctrl_out), SAVE :: o_duphy = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1622     'duphy', 'Physics du', 'm/s2', (/ ('', i=1, 10) /))
     1618          'duphy', 'Physics du', 'm/s2', (/ ('', i = 1, 10) /))
    16231619  TYPE(ctrl_out), SAVE :: o_dtphy = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1624     'dtphy', 'Physics dT', 'K/s', (/ ('', i=1, 10) /))
     1620          'dtphy', 'Physics dT', 'K/s', (/ ('', i = 1, 10) /))
    16251621  TYPE(ctrl_out), SAVE :: o_dqphy = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1626     'dqphy', 'Physics dQ', '(kg/kg)/s', (/ ('', i=1, 10) /))
     1622          'dqphy', 'Physics dQ', '(kg/kg)/s', (/ ('', i = 1, 10) /))
    16271623  TYPE(ctrl_out), SAVE :: o_dqphy2d = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1628     'dqphy2d', 'Physics dQ', '(kg/m2)/s', (/ ('', i=1, 10) /))
     1624          'dqphy2d', 'Physics dQ', '(kg/m2)/s', (/ ('', i = 1, 10) /))
    16291625  TYPE(ctrl_out), SAVE :: o_dqlphy = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1630     'dqlphy', 'Physics dQL', '(kg/kg)/s', (/ ('', i=1, 10) /))
     1626          'dqlphy', 'Physics dQL', '(kg/kg)/s', (/ ('', i = 1, 10) /))
    16311627  TYPE(ctrl_out), SAVE :: o_dqlphy2d = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1632     'dqlphy2d', 'Physics dQL', '(kg/m2)/s', (/ ('', i=1, 10) /))
     1628          'dqlphy2d', 'Physics dQL', '(kg/m2)/s', (/ ('', i = 1, 10) /))
    16331629  TYPE(ctrl_out), SAVE :: o_dqsphy = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1634     'dqsphy', 'Physics dQS', '(kg/kg)/s', (/ ('', i=1, 10) /))
     1630          'dqsphy', 'Physics dQS', '(kg/kg)/s', (/ ('', i = 1, 10) /))
    16351631  TYPE(ctrl_out), SAVE :: o_dqsphy2d = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1636     'dqsphy2d', 'Physics dQS', '(kg/m2)/s', (/ ('', i=1, 10) /))
     1632          'dqsphy2d', 'Physics dQS', '(kg/m2)/s', (/ ('', i = 1, 10) /))
    16371633  TYPE(ctrl_out), SAVE :: o_dqbsphy = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1638     'dqbsphy', 'Physics dQBS', '(kg/kg)/s', (/ ('', i=1, 10) /))
     1634          'dqbsphy', 'Physics dQBS', '(kg/kg)/s', (/ ('', i = 1, 10) /))
    16391635  TYPE(ctrl_out), SAVE :: o_dqbsphy2d = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1640     'dqbsphy2d', 'Physics dQBS', '(kg/m2)/s', (/ ('', i=1, 10) /))
     1636          'dqbsphy2d', 'Physics dQBS', '(kg/m2)/s', (/ ('', i = 1, 10) /))
    16411637  TYPE(ctrl_out), SAVE :: o_pr_con_l = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1642     'pr_con_l', 'Convective precipitation lic', ' ', (/ ('', i=1, 10) /))
     1638          'pr_con_l', 'Convective precipitation lic', ' ', (/ ('', i = 1, 10) /))
    16431639  TYPE(ctrl_out), SAVE :: o_pr_con_i = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1644     'pr_con_i', 'Convective precipitation ice', ' ', (/ ('', i=1, 10) /))
     1640          'pr_con_i', 'Convective precipitation ice', ' ', (/ ('', i = 1, 10) /))
    16451641  TYPE(ctrl_out), SAVE :: o_pr_lsc_l = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1646     'pr_lsc_l', 'Large scale precipitation lic', ' ', (/ ('', i=1, 10) /))
     1642          'pr_lsc_l', 'Large scale precipitation lic', ' ', (/ ('', i = 1, 10) /))
    16471643  TYPE(ctrl_out), SAVE :: o_pr_lsc_i = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1648     'pr_lsc_i', 'Large scale precipitation ice', ' ', (/ ('', i=1, 10) /))
     1644          'pr_lsc_i', 'Large scale precipitation ice', ' ', (/ ('', i = 1, 10) /))
    16491645  TYPE(ctrl_out), SAVE :: o_pr_bs = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1650     'pr_bs', 'profile of blowing snow flux', ' ', (/ ('', i=1, 10) /))
     1646          'pr_bs', 'profile of blowing snow flux', ' ', (/ ('', i = 1, 10) /))
    16511647  TYPE(ctrl_out), SAVE :: o_re = ctrl_out((/ 5, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1652     're', 'Cloud droplet effective radius', 'um', (/ ('', i=1, 10) /))
     1648          're', 'Cloud droplet effective radius', 'um', (/ ('', i = 1, 10) /))
    16531649  TYPE(ctrl_out), SAVE :: o_fl = ctrl_out((/ 5, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1654     'fl', 'Denominator of Cloud droplet effective radius', ' ', (/ ('', i=1, 10) /))
    1655   TYPE(ctrl_out), SAVE :: o_scdnc = ctrl_out((/ 2,  6, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1656     'scdnc', 'Cloud droplet number concentration', 'm-3', (/ ('', i=1, 10) /))
    1657   TYPE(ctrl_out), SAVE :: o_reffclws = ctrl_out((/ 2,  6, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1658     'reffclws', 'Stratiform Cloud Droplet Effective Radius (aerosol diags.)', 'm', (/ ('', i=1, 10) /))
    1659   TYPE(ctrl_out), SAVE :: o_reffclwc = ctrl_out((/ 2,  6, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1660     'reffclwc', 'Convective Cloud Droplet Effective Radius (aerosol diags.)', 'm', (/ ('', i=1, 10) /))
    1661   TYPE(ctrl_out), SAVE :: o_lcc3d = ctrl_out((/ 2,  6, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1662     'lcc3d', 'Cloud liquid fraction', '1', (/ ('', i=1, 10) /))
    1663   TYPE(ctrl_out), SAVE :: o_lcc3dcon = ctrl_out((/ 2,  6, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1664     'lcc3dcon', 'Convective cloud liquid fraction', '1', (/ ('', i=1, 10) /))
    1665   TYPE(ctrl_out), SAVE :: o_lcc3dstra = ctrl_out((/ 2,  6, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1666     'lcc3dstra', 'Stratiform cloud liquid fraction', '1', (/ ('', i=1, 10) /))
    1667   TYPE(ctrl_out), SAVE :: o_icc3dcon = ctrl_out((/ 2,  6, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1668     'icc3dcon', 'Convective cloud ice fraction', '1', (/ ('', i=1, 10) /))
    1669   TYPE(ctrl_out), SAVE :: o_icc3dstra = ctrl_out((/ 2,  6, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1670     'icc3dstra', 'Stratiform cloud ice fraction', '1', (/ ('', i=1, 10) /))
    1671   TYPE(ctrl_out), SAVE :: o_cldicemxrat = ctrl_out((/ 2,  6, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1672     'cldicemxrat', 'Cloud Ice Mixing Ratio', '1', (/ ('', i=1, 10) /))
    1673   TYPE(ctrl_out), SAVE :: o_cldwatmxrat = ctrl_out((/ 2,  6, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1674     'cldwatmxrat', 'Cloud Water Mixing Ratio', '1', (/ ('', i=1, 10) /))
    1675   TYPE(ctrl_out), SAVE :: o_solbnd = ctrl_out((/ 2,  6, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1676     'solbnd', 'Top-of-Atmosphere Solar Insolation for each band', 'W m-2', (/ ('', i=1, 10) /))
    1677   TYPE(ctrl_out), SAVE :: o_stratomask = ctrl_out((/ 2,  6, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1678     'stratomask', 'Stratospheric fraction', '1', (/ ('', i=1, 10) /))
    1679 !FC
    1680   TYPE(ctrl_out), SAVE :: o_zxfluxt = ctrl_out((/ 2,  6, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1681     'fluxt', 'flux h ', 'W/m2', (/ ('', i=1, 10) /))
    1682   TYPE(ctrl_out), SAVE :: o_zxfluxq = ctrl_out((/ 2,  6, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1683     'fluxq', 'flux q ', 'kg/(s*m2)', (/ ('', i=1, 10) /))
    1684 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    1685 
    1686   TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_albe_srf     = (/ &
    1687       ctrl_out((/ 3, 7, 10, 7, 10, 10, 11, 11, 11, 11/),'albe_ter', "Albedo VIS surf. "//clnsurf(1),"-", (/ ('', i=1, 10) /)), &
    1688       ctrl_out((/ 3, 7, 10, 7, 10, 10, 11, 11, 11, 11/),'albe_lic', "Albedo VIS surf. "//clnsurf(2),"-", (/ ('', i=1, 10) /)), &
    1689       ctrl_out((/ 3, 7, 10, 7, 10, 10, 11, 11, 11, 11/),'albe_oce', "Albedo VIS surf. "//clnsurf(3),"-", (/ ('', i=1, 10) /)), &
    1690       ctrl_out((/ 3, 7, 10, 7, 10, 10, 11, 11, 11, 11/),'albe_sic', "Albedo VIS surf. "//clnsurf(4),"-", (/ ('', i=1, 10) /)) /)
    1691 
    1692   TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_ages_srf     = (/ &
    1693       ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'ages_ter', "Snow age", "day", (/ ('', i=1, 10) /)), &
    1694       ctrl_out((/ 3, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'ages_lic', "Snow age", "day", (/ ('', i=1, 10) /)), &
    1695       ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'ages_oce',"Snow age", "day", (/ ('', i=1, 10) /)), &
    1696       ctrl_out((/ 3, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'ages_sic',"Snow age", "day", (/ ('', i=1, 10) /)) /)
    1697 
    1698   TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_snow_srf     = (/ &
    1699       ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'snow_ter', "Snow", "kg/m2", (/ ('', i=1, 10) /)), &
    1700       ctrl_out((/ 3, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'snow_lic', "Snow", "kg/m2", (/ ('', i=1, 10) /)), &
    1701       ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'snow_oce',"Snow", "kg/m2", (/ ('', i=1, 10) /)), &
    1702       ctrl_out((/ 3, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'snow_sic',"Snow", "kg/m2", (/ ('', i=1, 10) /)) /)
    1703 
    1704   TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_z0m_srf     = (/ &
    1705       ctrl_out((/ 3, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'z0m_ter', "Surface roughness "//clnsurf(1),"m", (/ ('', i=1, 10) /)), &
    1706       ctrl_out((/ 3, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'z0m_lic', "Surface roughness "//clnsurf(2),"m", (/ ('', i=1, 10) /)), &
    1707       ctrl_out((/ 3, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'z0m_oce', "Surface roughness "//clnsurf(3),"m", (/ ('', i=1, 10) /)), &
    1708       ctrl_out((/ 3, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'z0m_sic', "Surface roughness "//clnsurf(4),"m", (/ ('', i=1, 10) /)) /)
    1709 
    1710   TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_z0h_srf     = (/ &
    1711       ctrl_out((/ 3, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'z0h_ter', "Surface roughness "//clnsurf(1),"m", (/ ('', i=1, 10) /)), &
    1712       ctrl_out((/ 3, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'z0h_lic', "Surface roughness "//clnsurf(2),"m", (/ ('', i=1, 10) /)), &
    1713       ctrl_out((/ 3, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'z0h_oce', "Surface roughness "//clnsurf(3),"m", (/ ('', i=1, 10) /)), &
    1714       ctrl_out((/ 3, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'z0h_sic', "Surface roughness "//clnsurf(4),"m", (/ ('', i=1, 10) /)) /)
     1650          'fl', 'Denominator of Cloud droplet effective radius', ' ', (/ ('', i = 1, 10) /))
     1651  TYPE(ctrl_out), SAVE :: o_scdnc = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1652          'scdnc', 'Cloud droplet number concentration', 'm-3', (/ ('', i = 1, 10) /))
     1653  TYPE(ctrl_out), SAVE :: o_reffclws = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1654          'reffclws', 'Stratiform Cloud Droplet Effective Radius (aerosol diags.)', 'm', (/ ('', i = 1, 10) /))
     1655  TYPE(ctrl_out), SAVE :: o_reffclwc = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1656          'reffclwc', 'Convective Cloud Droplet Effective Radius (aerosol diags.)', 'm', (/ ('', i = 1, 10) /))
     1657  TYPE(ctrl_out), SAVE :: o_lcc3d = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1658          'lcc3d', 'Cloud liquid fraction', '1', (/ ('', i = 1, 10) /))
     1659  TYPE(ctrl_out), SAVE :: o_lcc3dcon = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1660          'lcc3dcon', 'Convective cloud liquid fraction', '1', (/ ('', i = 1, 10) /))
     1661  TYPE(ctrl_out), SAVE :: o_lcc3dstra = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1662          'lcc3dstra', 'Stratiform cloud liquid fraction', '1', (/ ('', i = 1, 10) /))
     1663  TYPE(ctrl_out), SAVE :: o_icc3dcon = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1664          'icc3dcon', 'Convective cloud ice fraction', '1', (/ ('', i = 1, 10) /))
     1665  TYPE(ctrl_out), SAVE :: o_icc3dstra = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1666          'icc3dstra', 'Stratiform cloud ice fraction', '1', (/ ('', i = 1, 10) /))
     1667  TYPE(ctrl_out), SAVE :: o_cldicemxrat = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1668          'cldicemxrat', 'Cloud Ice Mixing Ratio', '1', (/ ('', i = 1, 10) /))
     1669  TYPE(ctrl_out), SAVE :: o_cldwatmxrat = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1670          'cldwatmxrat', 'Cloud Water Mixing Ratio', '1', (/ ('', i = 1, 10) /))
     1671  TYPE(ctrl_out), SAVE :: o_solbnd = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1672          'solbnd', 'Top-of-Atmosphere Solar Insolation for each band', 'W m-2', (/ ('', i = 1, 10) /))
     1673  TYPE(ctrl_out), SAVE :: o_stratomask = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1674          'stratomask', 'Stratospheric fraction', '1', (/ ('', i = 1, 10) /))
     1675  !FC
     1676  TYPE(ctrl_out), SAVE :: o_zxfluxt = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1677          'fluxt', 'flux h ', 'W/m2', (/ ('', i = 1, 10) /))
     1678  TYPE(ctrl_out), SAVE :: o_zxfluxq = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1679          'fluxq', 'flux q ', 'kg/(s*m2)', (/ ('', i = 1, 10) /))
     1680  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
     1681
     1682  TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_albe_srf = (/ &
     1683          ctrl_out((/ 3, 7, 10, 7, 10, 10, 11, 11, 11, 11/), 'albe_ter', "Albedo VIS surf. " // clnsurf(1), "-", (/ ('', i = 1, 10) /)), &
     1684                  ctrl_out((/ 3, 7, 10, 7, 10, 10, 11, 11, 11, 11/), 'albe_lic', "Albedo VIS surf. " // clnsurf(2), "-", (/ ('', i = 1, 10) /)), &
     1685                  ctrl_out((/ 3, 7, 10, 7, 10, 10, 11, 11, 11, 11/), 'albe_oce', "Albedo VIS surf. " // clnsurf(3), "-", (/ ('', i = 1, 10) /)), &
     1686                  ctrl_out((/ 3, 7, 10, 7, 10, 10, 11, 11, 11, 11/), 'albe_sic', "Albedo VIS surf. " // clnsurf(4), "-", (/ ('', i = 1, 10) /)) /)
     1687
     1688  TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_ages_srf = (/ &
     1689          ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'ages_ter', "Snow age", "day", (/ ('', i = 1, 10) /)), &
     1690                  ctrl_out((/ 3, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'ages_lic', "Snow age", "day", (/ ('', i = 1, 10) /)), &
     1691                  ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'ages_oce', "Snow age", "day", (/ ('', i = 1, 10) /)), &
     1692                  ctrl_out((/ 3, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'ages_sic', "Snow age", "day", (/ ('', i = 1, 10) /)) /)
     1693
     1694  TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_snow_srf = (/ &
     1695          ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'snow_ter', "Snow", "kg/m2", (/ ('', i = 1, 10) /)), &
     1696                  ctrl_out((/ 3, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'snow_lic', "Snow", "kg/m2", (/ ('', i = 1, 10) /)), &
     1697                  ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'snow_oce', "Snow", "kg/m2", (/ ('', i = 1, 10) /)), &
     1698                  ctrl_out((/ 3, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'snow_sic', "Snow", "kg/m2", (/ ('', i = 1, 10) /)) /)
     1699
     1700  TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_z0m_srf = (/ &
     1701          ctrl_out((/ 3, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'z0m_ter', "Surface roughness " // clnsurf(1), "m", (/ ('', i = 1, 10) /)), &
     1702                  ctrl_out((/ 3, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'z0m_lic', "Surface roughness " // clnsurf(2), "m", (/ ('', i = 1, 10) /)), &
     1703                  ctrl_out((/ 3, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'z0m_oce', "Surface roughness " // clnsurf(3), "m", (/ ('', i = 1, 10) /)), &
     1704                  ctrl_out((/ 3, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'z0m_sic', "Surface roughness " // clnsurf(4), "m", (/ ('', i = 1, 10) /)) /)
     1705
     1706  TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_z0h_srf = (/ &
     1707          ctrl_out((/ 3, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'z0h_ter', "Surface roughness " // clnsurf(1), "m", (/ ('', i = 1, 10) /)), &
     1708                  ctrl_out((/ 3, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'z0h_lic', "Surface roughness " // clnsurf(2), "m", (/ ('', i = 1, 10) /)), &
     1709                  ctrl_out((/ 3, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'z0h_oce', "Surface roughness " // clnsurf(3), "m", (/ ('', i = 1, 10) /)), &
     1710                  ctrl_out((/ 3, 6, 10, 10, 10, 10, 11, 11, 11, 11/), 'z0h_sic', "Surface roughness " // clnsurf(4), "m", (/ ('', i = 1, 10) /)) /)
    17151711
    17161712  TYPE(ctrl_out), SAVE :: o_alb1 = ctrl_out((/ 3, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1717     'alb1', 'Surface VIS albedo', '-', (/ ('', i=1, 10) /))
     1713          'alb1', 'Surface VIS albedo', '-', (/ ('', i = 1, 10) /))
    17181714  TYPE(ctrl_out), SAVE :: o_alb2 = ctrl_out((/ 3, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1719     'alb2', 'Surface Near IR albedo', '-', (/ ('', i=1, 10) /))
     1715          'alb2', 'Surface Near IR albedo', '-', (/ ('', i = 1, 10) /))
    17201716  TYPE(ctrl_out), SAVE :: o_clwcon = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1721     'clwcon', 'Convective Cloud Liquid water content', 'kg/kg', (/ ('', i=1, 10) /))
     1717          'clwcon', 'Convective Cloud Liquid water content', 'kg/kg', (/ ('', i = 1, 10) /))
    17221718  TYPE(ctrl_out), SAVE :: o_Mipsh = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1723     'Mipsh', 'mass flux shed from adiab. ascents', 'kg/m2/s', (/ ('', i=1, 10) /))
     1719          'Mipsh', 'mass flux shed from adiab. ascents', 'kg/m2/s', (/ ('', i = 1, 10) /))
    17241720  TYPE(ctrl_out), SAVE :: o_Ma = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1725     'Ma', 'undilute adiab updraft mass flux', 'kg/m2/s', (/ ('', i=1, 10) /))
     1721          'Ma', 'undilute adiab updraft mass flux', 'kg/m2/s', (/ ('', i = 1, 10) /))
    17261722  TYPE(ctrl_out), SAVE :: o_dnwd = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1727     'dnwd', 'saturated downdraft', 'kg/m2/s', (/ ('', i=1, 10) /))
     1723          'dnwd', 'saturated downdraft', 'kg/m2/s', (/ ('', i = 1, 10) /))
    17281724  TYPE(ctrl_out), SAVE :: o_dnwd0 = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1729     'dnwd0', 'unsat. downdraft', 'kg/m2/s', (/ ('', i=1, 10) /))
     1725          'dnwd0', 'unsat. downdraft', 'kg/m2/s', (/ ('', i = 1, 10) /))
    17301726  TYPE(ctrl_out), SAVE :: o_mc = ctrl_out((/ 4, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1731     'mc', 'Convective mass flux', 'kg/m2/s', (/ ('', i=1, 10) /))
     1727          'mc', 'Convective mass flux', 'kg/m2/s', (/ ('', i = 1, 10) /))
    17321728  TYPE(ctrl_out), SAVE :: o_ftime_deepcv = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1733     'ftime_deepcv', 'Fraction of time deep convection Occurs', ' ', (/ ('', i=1, 10) /))
     1729          'ftime_deepcv', 'Fraction of time deep convection Occurs', ' ', (/ ('', i = 1, 10) /))
    17341730  TYPE(ctrl_out), SAVE :: o_ftime_con = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1735     'ftime_con', 'Fraction of time convection Occurs', ' ', (/ ('', i=1, 10) /))
    1736 !!jyg    'ftime_con', 'Fraction of time convection Occurs', ' ',                 &
    1737 !!jyg      (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', &
    1738 !!jyg         'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /))
     1731          'ftime_con', 'Fraction of time convection Occurs', ' ', (/ ('', i = 1, 10) /))
     1732  !!jyg    'ftime_con', 'Fraction of time convection Occurs', ' ',                 &
     1733  !!jyg      (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', &
     1734  !!jyg         'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /))
    17391735  TYPE(ctrl_out), SAVE :: o_dtdyn = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1740     'dtdyn', 'Dynamics dT', 'K/s', (/ ('', i=1, 10) /))
     1736          'dtdyn', 'Dynamics dT', 'K/s', (/ ('', i = 1, 10) /))
    17411737  TYPE(ctrl_out), SAVE :: o_dqdyn = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1742     'dqdyn', 'Dynamics dQ', '(kg/kg)/s', (/ ('', i=1, 10) /))
     1738          'dqdyn', 'Dynamics dQ', '(kg/kg)/s', (/ ('', i = 1, 10) /))
    17431739  TYPE(ctrl_out), SAVE :: o_dqdyn2d = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1744     'dqdyn2d', 'Dynamics dQ', '(kg/m2)/s', (/ ('', i=1, 10) /))
     1740          'dqdyn2d', 'Dynamics dQ', '(kg/m2)/s', (/ ('', i = 1, 10) /))
    17451741  TYPE(ctrl_out), SAVE :: o_dqldyn = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1746     'dqldyn', 'Dynamics dQL', '(kg/kg)/s', (/ ('', i=1, 10) /))
     1742          'dqldyn', 'Dynamics dQL', '(kg/kg)/s', (/ ('', i = 1, 10) /))
    17471743  TYPE(ctrl_out), SAVE :: o_dqldyn2d = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1748     'dqldyn2d', 'Dynamics dQL', '(kg/m2)/s', (/ ('', i=1, 10) /))
     1744          'dqldyn2d', 'Dynamics dQL', '(kg/m2)/s', (/ ('', i = 1, 10) /))
    17491745  TYPE(ctrl_out), SAVE :: o_dqsdyn = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1750     'dqsdyn', 'Dynamics dQS', '(kg/kg)/s', (/ ('', i=1, 10) /))
     1746          'dqsdyn', 'Dynamics dQS', '(kg/kg)/s', (/ ('', i = 1, 10) /))
    17511747  TYPE(ctrl_out), SAVE :: o_dqsdyn2d = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1752     'dqsdyn2d', 'Dynamics dQS', '(kg/m2)/s', (/ ('', i=1, 10) /))
     1748          'dqsdyn2d', 'Dynamics dQS', '(kg/m2)/s', (/ ('', i = 1, 10) /))
    17531749  TYPE(ctrl_out), SAVE :: o_dqbsdyn = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1754     'dqbsdyn', 'Dynamics dQBS', '(kg/kg)/s', (/ ('', i=1, 10) /))
     1750          'dqbsdyn', 'Dynamics dQBS', '(kg/kg)/s', (/ ('', i = 1, 10) /))
    17551751  TYPE(ctrl_out), SAVE :: o_dqbsdyn2d = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1756     'dqbsdyn2d', 'Dynamics dQBS', '(kg/m2)/s', (/ ('', i=1, 10) /))
     1752          'dqbsdyn2d', 'Dynamics dQBS', '(kg/m2)/s', (/ ('', i = 1, 10) /))
    17571753  TYPE(ctrl_out), SAVE :: o_dudyn = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1758     'dudyn', 'Dynamics dU', 'm/s2', (/ ('', i=1, 10) /))
     1754          'dudyn', 'Dynamics dU', 'm/s2', (/ ('', i = 1, 10) /))
    17591755  TYPE(ctrl_out), SAVE :: o_dvdyn = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1760     'dvdyn', 'Dynamics dV', 'm/s2', (/ ('', i=1, 10) /))
     1756          'dvdyn', 'Dynamics dV', 'm/s2', (/ ('', i = 1, 10) /))
    17611757  TYPE(ctrl_out), SAVE :: o_dtcon = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1762     'dtcon', 'Convection dT', 'K/s', (/ ('', i=1, 10) /))
     1758          'dtcon', 'Convection dT', 'K/s', (/ ('', i = 1, 10) /))
    17631759  TYPE(ctrl_out), SAVE :: o_ducon = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1764     'ducon', 'Convection du', 'm/s2', (/ ('', i=1, 10) /))
     1760          'ducon', 'Convection du', 'm/s2', (/ ('', i = 1, 10) /))
    17651761  TYPE(ctrl_out), SAVE :: o_dvcon = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1766     'dvcon', 'Convection dv', 'm/s2', (/ ('', i=1, 10) /))
     1762          'dvcon', 'Convection dv', 'm/s2', (/ ('', i = 1, 10) /))
    17671763  TYPE(ctrl_out), SAVE :: o_dqcon = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1768     'dqcon', 'Convection dQ', '(kg/kg)/s', (/ ('', i=1, 10) /))
     1764          'dqcon', 'Convection dQ', '(kg/kg)/s', (/ ('', i = 1, 10) /))
    17691765  TYPE(ctrl_out), SAVE :: o_dqcon2d = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1770     'dqcon2d', 'Convection dQ', '(kg/m2)/s', (/ ('', i=1, 10) /))
     1766          'dqcon2d', 'Convection dQ', '(kg/m2)/s', (/ ('', i = 1, 10) /))
    17711767  TYPE(ctrl_out), SAVE :: o_dtwak = ctrl_out((/ 4, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1772     'dtwak', 'Wake dT', 'K/s', (/ ('', i=1, 10) /))
     1768          'dtwak', 'Wake dT', 'K/s', (/ ('', i = 1, 10) /))
    17731769  TYPE(ctrl_out), SAVE :: o_dqwak = ctrl_out((/ 4, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1774     'dqwak', 'Wake dQ', '(kg/kg)/s', (/ ('', i=1, 10) /))
     1770          'dqwak', 'Wake dQ', '(kg/kg)/s', (/ ('', i = 1, 10) /))
    17751771  TYPE(ctrl_out), SAVE :: o_dqwak2d = ctrl_out((/ 4, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1776     'dqwak2d', 'Wake dQ', '(kg/m2)/s', (/ ('', i=1, 10) /))
     1772          'dqwak2d', 'Wake dQ', '(kg/m2)/s', (/ ('', i = 1, 10) /))
    17771773  TYPE(ctrl_out), SAVE :: o_cv_gen = ctrl_out((/ 4, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1778     'cv_gen', 'Cumulonimbus genesis', '1/(m2 s)', (/ ('', i=1, 10) /))
     1774          'cv_gen', 'Cumulonimbus genesis', '1/(m2 s)', (/ ('', i = 1, 10) /))
    17791775  TYPE(ctrl_out), SAVE :: o_wake_h = ctrl_out((/ 4, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1780     'wake_h', 'wake_h', '-', (/ ('', i=1, 10) /))
     1776          'wake_h', 'wake_h', '-', (/ ('', i = 1, 10) /))
    17811777  TYPE(ctrl_out), SAVE :: o_wake_dens = ctrl_out((/ 4, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1782     'wake_dens', 'number of wakes per m2', '1/m2', (/ ('', i=1, 10) /))
     1778          'wake_dens', 'number of wakes per m2', '1/m2', (/ ('', i = 1, 10) /))
    17831779  TYPE(ctrl_out), SAVE :: o_wake_s = ctrl_out((/ 4, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1784     'wake_s', 'wake_s', '-', (/ ('', i=1, 10) /))
     1780          'wake_s', 'wake_s', '-', (/ ('', i = 1, 10) /))
    17851781  TYPE(ctrl_out), SAVE :: o_wake_deltat = ctrl_out((/ 4, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1786     'wake_deltat', 'wake_deltat', ' ', (/ ('', i=1, 10) /))
     1782          'wake_deltat', 'wake_deltat', ' ', (/ ('', i = 1, 10) /))
    17871783  TYPE(ctrl_out), SAVE :: o_wake_deltaq = ctrl_out((/ 4, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1788     'wake_deltaq', 'wake_deltaq', ' ', (/ ('', i=1, 10) /))
     1784          'wake_deltaq', 'wake_deltaq', ' ', (/ ('', i = 1, 10) /))
    17891785  TYPE(ctrl_out), SAVE :: o_wake_omg = ctrl_out((/ 4, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1790     'wake_omg', 'wake_omg', 'Pa/s', (/ ('', i=1, 10) /))
    1791   TYPE(ctrl_out), SAVE :: o_wdtrainA = ctrl_out((/ 4, 5, 10,  4, 10, 10, 11, 11, 11, 11 /), &
    1792     'wdtrainA', 'precipitation from AA', '-', (/ ('', i=1, 10) /))
    1793   TYPE(ctrl_out), SAVE :: o_wdtrainS = ctrl_out((/ 4, 5, 10,  4, 10, 10, 11, 11, 11, 11 /), &
    1794     'wdtrainS', 'precipitation from shedding of AA', '-', (/ ('', i=1, 10) /))
    1795   TYPE(ctrl_out), SAVE :: o_wdtrainM = ctrl_out((/ 4, 5, 10,  4, 10, 10, 11, 11, 11, 11 /), &
    1796     'wdtrainM', 'precipitation from mixture', '-', (/ ('', i=1, 10) /))
     1786          'wake_omg', 'wake_omg', 'Pa/s', (/ ('', i = 1, 10) /))
     1787  TYPE(ctrl_out), SAVE :: o_wdtrainA = ctrl_out((/ 4, 5, 10, 4, 10, 10, 11, 11, 11, 11 /), &
     1788          'wdtrainA', 'precipitation from AA', '-', (/ ('', i = 1, 10) /))
     1789  TYPE(ctrl_out), SAVE :: o_wdtrainS = ctrl_out((/ 4, 5, 10, 4, 10, 10, 11, 11, 11, 11 /), &
     1790          'wdtrainS', 'precipitation from shedding of AA', '-', (/ ('', i = 1, 10) /))
     1791  TYPE(ctrl_out), SAVE :: o_wdtrainM = ctrl_out((/ 4, 5, 10, 4, 10, 10, 11, 11, 11, 11 /), &
     1792          'wdtrainM', 'precipitation from mixture', '-', (/ ('', i = 1, 10) /))
    17971793  TYPE(ctrl_out), SAVE :: o_Vprecip = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1798     'Vprecip', 'precipitation vertical profile', '-', (/ ('', i=1, 10) /))
     1794          'Vprecip', 'precipitation vertical profile', '-', (/ ('', i = 1, 10) /))
    17991795  TYPE(ctrl_out), SAVE :: o_qtaa = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1800     'qtaa', 'specific total water in adiabatic ascents', 'kg/kg', (/ ('', i=1, 10) /))
     1796          'qtaa', 'specific total water in adiabatic ascents', 'kg/kg', (/ ('', i = 1, 10) /))
    18011797  TYPE(ctrl_out), SAVE :: o_clwaa = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1802     'Clwaa', 'specific condensed water in adiabatic ascents', 'kg/kg', (/ ('', i=1, 10) /))
     1798          'Clwaa', 'specific condensed water in adiabatic ascents', 'kg/kg', (/ ('', i = 1, 10) /))
    18031799  TYPE(ctrl_out), SAVE :: o_ftd = ctrl_out((/ 4, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1804     'ftd', 'tend temp due aux descentes precip', '-', (/ ('', i=1, 10) /))
     1800          'ftd', 'tend temp due aux descentes precip', '-', (/ ('', i = 1, 10) /))
    18051801  TYPE(ctrl_out), SAVE :: o_fqd = ctrl_out((/ 4, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1806     'fqd', 'tend vap eau due aux descentes precip', '-', (/ ('', i=1, 10) /))
     1802          'fqd', 'tend vap eau due aux descentes precip', '-', (/ ('', i = 1, 10) /))
    18071803  TYPE(ctrl_out), SAVE :: o_dtlsc = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1808     'dtlsc', 'Condensation dT', 'K/s', (/ ('', i=1, 10) /))
     1804          'dtlsc', 'Condensation dT', 'K/s', (/ ('', i = 1, 10) /))
    18091805  TYPE(ctrl_out), SAVE :: o_dtlschr = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1810     'dtlschr', 'Large-scale condensational heating rate', 'K/s', (/ ('', i=1, 10) /))
     1806          'dtlschr', 'Large-scale condensational heating rate', 'K/s', (/ ('', i = 1, 10) /))
    18111807  TYPE(ctrl_out), SAVE :: o_dqlsc = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1812     'dqlsc', 'Condensation dQ', '(kg/kg)/s', (/ ('', i=1, 10) /))
     1808          'dqlsc', 'Condensation dQ', '(kg/kg)/s', (/ ('', i = 1, 10) /))
    18131809  TYPE(ctrl_out), SAVE :: o_dqlsc2d = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1814     'dqlsc2d', 'Condensation dQ', '(kg/m2)/s', (/ ('', i=1, 10) /))
     1810          'dqlsc2d', 'Condensation dQ', '(kg/m2)/s', (/ ('', i = 1, 10) /))
    18151811  TYPE(ctrl_out), SAVE :: o_beta_prec = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1816     'beta_prec', 'LS Conversion rate to prec', '(kg/kg)/s', (/ ('', i=1, 10) /))
     1812          'beta_prec', 'LS Conversion rate to prec', '(kg/kg)/s', (/ ('', i = 1, 10) /))
    18171813  TYPE(ctrl_out), SAVE :: o_dtvdf = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1818     'dtvdf', 'Boundary-layer dT', 'K/s', (/ ('', i=1, 10) /))
     1814          'dtvdf', 'Boundary-layer dT', 'K/s', (/ ('', i = 1, 10) /))
    18191815  TYPE(ctrl_out), SAVE :: o_dtdis = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1820     'dtdis', 'TKE dissipation dT', 'K/s', (/ ('', i=1, 10) /))
     1816          'dtdis', 'TKE dissipation dT', 'K/s', (/ ('', i = 1, 10) /))
    18211817  TYPE(ctrl_out), SAVE :: o_dqvdf = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1822     'dqvdf', 'Boundary-layer dQ', '(kg/kg)/s', (/ ('', i=1, 10) /))
     1818          'dqvdf', 'Boundary-layer dQ', '(kg/kg)/s', (/ ('', i = 1, 10) /))
    18231819  TYPE(ctrl_out), SAVE :: o_dqvdf2d = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1824     'dqvdf2d', 'Boundary-layer dQ', '(kg/m2)/s', (/ ('', i=1, 10) /))
     1820          'dqvdf2d', 'Boundary-layer dQ', '(kg/m2)/s', (/ ('', i = 1, 10) /))
    18251821  TYPE(ctrl_out), SAVE :: o_dteva = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1826     'dteva', 'Reevaporation dT', 'K/s', (/ ('', i=1, 10) /))
     1822          'dteva', 'Reevaporation dT', 'K/s', (/ ('', i = 1, 10) /))
    18271823  TYPE(ctrl_out), SAVE :: o_dqeva = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1828     'dqeva', 'Reevaporation dQ', '(kg/kg)/s', (/ ('', i=1, 10) /))
     1824          'dqeva', 'Reevaporation dQ', '(kg/kg)/s', (/ ('', i = 1, 10) /))
    18291825  TYPE(ctrl_out), SAVE :: o_dqeva2d = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1830     'dqeva2d', 'Reevaporation dQ', '(kg/m2)/s', (/ ('', i=1, 10) /))
     1826          'dqeva2d', 'Reevaporation dQ', '(kg/m2)/s', (/ ('', i = 1, 10) /))
    18311827  TYPE(ctrl_out), SAVE :: o_dqbsvdf = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1832     'dqbsvdf', 'Boundary-layer dQBS', '(kg/kg)/s', (/ ('', i=1, 10) /))
     1828          'dqbsvdf', 'Boundary-layer dQBS', '(kg/kg)/s', (/ ('', i = 1, 10) /))
    18331829  TYPE(ctrl_out), SAVE :: o_dqbsbs = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1834     'dqbsbs', 'Blowing snow dQBS', '(kg/kg)/s', (/ ('', i=1, 10) /))
     1830          'dqbsbs', 'Blowing snow dQBS', '(kg/kg)/s', (/ ('', i = 1, 10) /))
    18351831  TYPE(ctrl_out), SAVE :: o_dtbs = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1836     'dtbs', 'Blowing snow dT', '(K)/s', (/ ('', i=1, 10) /))
     1832          'dtbs', 'Blowing snow dT', '(K)/s', (/ ('', i = 1, 10) /))
    18371833  TYPE(ctrl_out), SAVE :: o_dqbs = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1838     'dqbs', 'Blowing snow dQ', '(kg/kg)/s', (/ ('', i=1, 10) /))
    1839 
    1840 !!!!!!!!!!!!!!!! Specifique thermiques
     1834          'dqbs', 'Blowing snow dQ', '(kg/kg)/s', (/ ('', i = 1, 10) /))
     1835
     1836  !!!!!!!!!!!!!!!! Specifique thermiques
    18411837  TYPE(ctrl_out), SAVE :: o_dqlscth = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1842     'dqlscth', 'dQ therm.', '(kg/kg)/s', (/ ('', i=1, 10) /))
     1838          'dqlscth', 'dQ therm.', '(kg/kg)/s', (/ ('', i = 1, 10) /))
    18431839  TYPE(ctrl_out), SAVE :: o_dqlscth2d = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1844     'dqlscth2d', 'dQ therm.', '(kg/m2)/s', (/ ('', i=1, 10) /))
     1840          'dqlscth2d', 'dQ therm.', '(kg/m2)/s', (/ ('', i = 1, 10) /))
    18451841  TYPE(ctrl_out), SAVE :: o_dqlscst = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1846     'dqlscst', 'dQ strat.', '(kg/kg)/s', (/ ('', i=1, 10) /))
     1842          'dqlscst', 'dQ strat.', '(kg/kg)/s', (/ ('', i = 1, 10) /))
    18471843  TYPE(ctrl_out), SAVE :: o_dqlscst2d = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1848     'dqlscst2d', 'dQ strat.', '(kg/m2)/s', (/ ('', i=1, 10) /))
     1844          'dqlscst2d', 'dQ strat.', '(kg/m2)/s', (/ ('', i = 1, 10) /))
    18491845  TYPE(ctrl_out), SAVE :: o_dtlscth = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1850     'dtlscth', 'dQ therm.', 'K/s', (/ ('', i=1, 10) /))
     1846          'dtlscth', 'dQ therm.', 'K/s', (/ ('', i = 1, 10) /))
    18511847  TYPE(ctrl_out), SAVE :: o_dtlscst = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1852     'dtlscst', 'dQ strat.', 'K/s', (/ ('', i=1, 10) /))
     1848          'dtlscst', 'dQ strat.', 'K/s', (/ ('', i = 1, 10) /))
    18531849  TYPE(ctrl_out), SAVE :: o_plulth = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1854     'plulth', 'Rainfall therm.', 'K/s', (/ ('', i=1, 10) /))
     1850          'plulth', 'Rainfall therm.', 'K/s', (/ ('', i = 1, 10) /))
    18551851  TYPE(ctrl_out), SAVE :: o_plulst = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1856     'plulst', 'Rainfall strat.', 'K/s', (/ ('', i=1, 10) /))
     1852          'plulst', 'Rainfall strat.', 'K/s', (/ ('', i = 1, 10) /))
    18571853  TYPE(ctrl_out), SAVE :: o_lmaxth = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1858     'lmaxth', "Upper level thermals", "", (/ ('', i=1, 10) /))
     1854          'lmaxth', "Upper level thermals", "", (/ ('', i = 1, 10) /))
    18591855  TYPE(ctrl_out), SAVE :: o_ptconvth = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1860     'ptconvth', 'POINTS CONVECTIFS therm.', ' ', (/ ('', i=1, 10) /))
    1861 !!!!!!!!!!!!!!!!!!!!!!!!
     1856          'ptconvth', 'POINTS CONVECTIFS therm.', ' ', (/ ('', i = 1, 10) /))
     1857  !!!!!!!!!!!!!!!!!!!!!!!!
    18621858  TYPE(ctrl_out), SAVE :: o_ptconv = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1863     'ptconv', 'POINTS CONVECTIFS', ' ', (/ ('', i=1, 10) /))
     1859          'ptconv', 'POINTS CONVECTIFS', ' ', (/ ('', i = 1, 10) /))
    18641860  TYPE(ctrl_out), SAVE :: o_ratqs = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1865     'ratqs', 'RATQS', ' ', (/ ('', i=1, 10) /))
     1861          'ratqs', 'RATQS', ' ', (/ ('', i = 1, 10) /))
    18661862  TYPE(ctrl_out), SAVE :: o_dtthe = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1867     'dtthe', 'Thermal dT', 'K/s', (/ ('', i=1, 10) /))
     1863          'dtthe', 'Thermal dT', 'K/s', (/ ('', i = 1, 10) /))
    18681864  TYPE(ctrl_out), SAVE :: o_duthe = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1869     'duthe', 'Thermal du', 'm/s2', (/ ('', i=1, 10) /))
     1865          'duthe', 'Thermal du', 'm/s2', (/ ('', i = 1, 10) /))
    18701866  TYPE(ctrl_out), SAVE :: o_dvthe = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1871     'dvthe', 'Thermal dv', 'm/s2', (/ ('', i=1, 10) /))
     1867          'dvthe', 'Thermal dv', 'm/s2', (/ ('', i = 1, 10) /))
    18721868  TYPE(ctrl_out), SAVE :: o_f_th = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1873     'f_th', 'Thermal plume mass flux', 'kg/(m2*s)', (/ ('', i=1, 10) /))
     1869          'f_th', 'Thermal plume mass flux', 'kg/(m2*s)', (/ ('', i = 1, 10) /))
    18741870  TYPE(ctrl_out), SAVE :: o_e_th = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1875     'e_th', 'Thermal plume entrainment', 'K/s', (/ ('', i=1, 10) /))
     1871          'e_th', 'Thermal plume entrainment', 'K/s', (/ ('', i = 1, 10) /))
    18761872  TYPE(ctrl_out), SAVE :: o_w_th = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1877     'w_th', 'Thermal plume vertical velocity', 'm/s', (/ ('', i=1, 10) /))
     1873          'w_th', 'Thermal plume vertical velocity', 'm/s', (/ ('', i = 1, 10) /))
    18781874  TYPE(ctrl_out), SAVE :: o_lambda_th = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1879     'lambda_th', 'Thermal plume vertical velocity', 'm/s', (/ ('', i=1, 10) /))
     1875          'lambda_th', 'Thermal plume vertical velocity', 'm/s', (/ ('', i = 1, 10) /))
    18801876  TYPE(ctrl_out), SAVE :: o_ftime_th = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1881     'ftime_th', 'Fraction of time Shallow convection occurs', ' ', (/ ('', i=1, 10) /))
     1877          'ftime_th', 'Fraction of time Shallow convection occurs', ' ', (/ ('', i = 1, 10) /))
    18821878  TYPE(ctrl_out), SAVE :: o_q_th = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1883     'q_th', 'Thermal plume total humidity', 'kg/kg', (/ ('', i=1, 10) /))
     1879          'q_th', 'Thermal plume total humidity', 'kg/kg', (/ ('', i = 1, 10) /))
    18841880  TYPE(ctrl_out), SAVE :: o_a_th = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1885     'a_th', "Thermal plume fraction", "", (/ ('', i=1, 10) /))
     1881          'a_th', "Thermal plume fraction", "", (/ ('', i = 1, 10) /))
    18861882
    18871883  TYPE(ctrl_out), SAVE :: o_cloudth_sth = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1888     's_th', "Thermal plume saturation deficit", "kg/kg", (/ ('', i=1, 10) /))
     1884          's_th', "Thermal plume saturation deficit", "kg/kg", (/ ('', i = 1, 10) /))
    18891885  TYPE(ctrl_out), SAVE :: o_cloudth_senv = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1890     's_env', "Environment saturation deficit", "kg/kg", (/ ('', i=1, 10) /))
     1886          's_env', "Environment saturation deficit", "kg/kg", (/ ('', i = 1, 10) /))
    18911887  TYPE(ctrl_out), SAVE :: o_cloudth_sigmath = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1892     'sigma_th', "Thermal plume gauss variance", "kg/kg", (/ ('', i=1, 10) /))
     1888          'sigma_th', "Thermal plume gauss variance", "kg/kg", (/ ('', i = 1, 10) /))
    18931889  TYPE(ctrl_out), SAVE :: o_cloudth_sigmaenv = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1894     'sigma_env', "Environment gauss variance", "kg/kg", (/ ('', i=1, 10) /))
     1890          'sigma_env', "Environment gauss variance", "kg/kg", (/ ('', i = 1, 10) /))
    18951891
    18961892  TYPE(ctrl_out), SAVE :: o_d_th = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1897     'd_th', 'Thermal plume detrainment', 'K/s', (/ ('', i=1, 10) /))
     1893          'd_th', 'Thermal plume detrainment', 'K/s', (/ ('', i = 1, 10) /))
    18981894  TYPE(ctrl_out), SAVE :: o_f0_th = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1899     'f0_th', 'Thermal closure mass flux', 'K/s', (/ ('', i=1, 10) /))
    1900   TYPE(ctrl_out), SAVE :: o_zmax_th = ctrl_out((/ 4,  4,  4, 5, 10, 10, 11, 11, 11, 11/), &
    1901     'zmax_th', 'Thermal plume height', 'K/s', (/ ('', i=1, 10) /))
     1895          'f0_th', 'Thermal closure mass flux', 'K/s', (/ ('', i = 1, 10) /))
     1896  TYPE(ctrl_out), SAVE :: o_zmax_th = ctrl_out((/ 4, 4, 4, 5, 10, 10, 11, 11, 11, 11/), &
     1897          'zmax_th', 'Thermal plume height', 'K/s', (/ ('', i = 1, 10) /))
    19021898  TYPE(ctrl_out), SAVE :: o_dqthe = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1903     'dqthe', 'Thermal dQ', '(kg/kg)/s', (/ ('', i=1, 10) /))
     1899          'dqthe', 'Thermal dQ', '(kg/kg)/s', (/ ('', i = 1, 10) /))
    19041900  TYPE(ctrl_out), SAVE :: o_dqthe2d = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1905     'dqthe2d', 'Thermal dQ', '(kg/m2)/s', (/ ('', i=1, 10) /))
     1901          'dqthe2d', 'Thermal dQ', '(kg/m2)/s', (/ ('', i = 1, 10) /))
    19061902  TYPE(ctrl_out), SAVE :: o_dtajs = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1907     'dtajs', 'Dry adjust. dT', 'K/s', (/ ('', i=1, 10) /))
     1903          'dtajs', 'Dry adjust. dT', 'K/s', (/ ('', i = 1, 10) /))
    19081904  TYPE(ctrl_out), SAVE :: o_dqajs = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1909     'dqajs', 'Dry adjust. dQ', '(kg/kg)/s', (/ ('', i=1, 10) /))
     1905          'dqajs', 'Dry adjust. dQ', '(kg/kg)/s', (/ ('', i = 1, 10) /))
    19101906  TYPE(ctrl_out), SAVE :: o_dqajs2d = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1911     'dqajs2d', 'Dry adjust. dQ', '(kg/m2)/s', (/ ('', i=1, 10) /))
     1907          'dqajs2d', 'Dry adjust. dQ', '(kg/m2)/s', (/ ('', i = 1, 10) /))
    19121908  TYPE(ctrl_out), SAVE :: o_dtswr = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1913     'dtswr', 'SW radiation dT', 'K/s', (/ ('', i=1, 10) /))
     1909          'dtswr', 'SW radiation dT', 'K/s', (/ ('', i = 1, 10) /))
    19141910  TYPE(ctrl_out), SAVE :: o_dtsw0 = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1915     'dtsw0', 'CS SW radiation dT', 'K/s', (/ ('', i=1, 10) /))
     1911          'dtsw0', 'CS SW radiation dT', 'K/s', (/ ('', i = 1, 10) /))
    19161912  TYPE(ctrl_out), SAVE :: o_dtlwr = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1917     'dtlwr', 'LW radiation dT', 'K/s', (/ ('', i=1, 10) /))
     1913          'dtlwr', 'LW radiation dT', 'K/s', (/ ('', i = 1, 10) /))
    19181914  TYPE(ctrl_out), SAVE :: o_dtlw0 = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1919     'dtlw0', 'CS LW radiation dT', 'K/s', (/ ('', i=1, 10) /))
     1915          'dtlw0', 'CS LW radiation dT', 'K/s', (/ ('', i = 1, 10) /))
    19201916  TYPE(ctrl_out), SAVE :: o_dtec = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1921     'dtec', 'Cinetic dissip dT', 'K/s', (/ ('', i=1, 10) /))
     1917          'dtec', 'Cinetic dissip dT', 'K/s', (/ ('', i = 1, 10) /))
    19221918  TYPE(ctrl_out), SAVE :: o_duvdf = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1923     'duvdf', 'Boundary-layer dU', 'm/s2', (/ ('', i=1, 10) /))
     1919          'duvdf', 'Boundary-layer dU', 'm/s2', (/ ('', i = 1, 10) /))
    19241920  TYPE(ctrl_out), SAVE :: o_dvvdf = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1925     'dvvdf', 'Boundary-layer dV', 'm/s2', (/ ('', i=1, 10) /))
     1921          'dvvdf', 'Boundary-layer dV', 'm/s2', (/ ('', i = 1, 10) /))
    19261922  TYPE(ctrl_out), SAVE :: o_duoro = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1927     'duoro', 'Orography dU', 'm/s2', (/ ('', i=1, 10) /))
     1923          'duoro', 'Orography dU', 'm/s2', (/ ('', i = 1, 10) /))
    19281924  TYPE(ctrl_out), SAVE :: o_dvoro = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1929     'dvoro', 'Orography dV', 'm/s2', (/ ('', i=1, 10) /))
     1925          'dvoro', 'Orography dV', 'm/s2', (/ ('', i = 1, 10) /))
    19301926  TYPE(ctrl_out), SAVE :: o_dulif = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1931     'dulif', 'Orography dU', 'm/s2', (/ ('', i=1, 10) /))
     1927          'dulif', 'Orography dU', 'm/s2', (/ ('', i = 1, 10) /))
    19321928  TYPE(ctrl_out), SAVE :: o_dvlif = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1933     'dvlif', 'Orography dV', 'm/s2', (/ ('', i=1, 10) /))
     1929          'dvlif', 'Orography dV', 'm/s2', (/ ('', i = 1, 10) /))
    19341930  TYPE(ctrl_out), SAVE :: o_du_gwd_hines = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1935     'du_gwd_hines', 'Hines GWD dU', 'm/s2', (/ ('', i=1, 10) /))
     1931          'du_gwd_hines', 'Hines GWD dU', 'm/s2', (/ ('', i = 1, 10) /))
    19361932  TYPE(ctrl_out), SAVE :: o_dv_gwd_hines = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1937     'dv_gwd_hines', 'Hines GWD dV', 'm/s2', (/ ('', i=1, 10) /))
     1933          'dv_gwd_hines', 'Hines GWD dV', 'm/s2', (/ ('', i = 1, 10) /))
    19381934  TYPE(ctrl_out), SAVE :: o_du_gwd_front = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1939     'du_gwd_front', 'Fronts GWD dU', 'm/s2', (/ ('', i=1, 10) /))
     1935          'du_gwd_front', 'Fronts GWD dU', 'm/s2', (/ ('', i = 1, 10) /))
    19401936  TYPE(ctrl_out), SAVE :: o_dv_gwd_front = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1941     'dv_gwd_front', 'Fronts GWD dV', 'm/s2', (/ ('', i=1, 10) /))
     1937          'dv_gwd_front', 'Fronts GWD dV', 'm/s2', (/ ('', i = 1, 10) /))
    19421938  TYPE(ctrl_out), SAVE :: o_east_gwstress = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1943     'east_gwstress', 'Eastward GW Stress', 'Pa', (/ ('', i=1, 10) /))
     1939          'east_gwstress', 'Eastward GW Stress', 'Pa', (/ ('', i = 1, 10) /))
    19441940  TYPE(ctrl_out), SAVE :: o_west_gwstress = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1945     'west_gwstress', 'Westward GW Stress', 'Pa', (/ ('', i=1, 10) /))
     1941          'west_gwstress', 'Westward GW Stress', 'Pa', (/ ('', i = 1, 10) /))
    19461942  TYPE(ctrl_out), SAVE :: o_dtoro = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1947     'dtoro', 'Orography dT', 'K/s', (/ ('', i=1, 10) /))
     1943          'dtoro', 'Orography dT', 'K/s', (/ ('', i = 1, 10) /))
    19481944  TYPE(ctrl_out), SAVE :: o_dtlif = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1949     'dtlif', 'Orography dT', 'K/s', (/ ('', i=1, 10) /))
     1945          'dtlif', 'Orography dT', 'K/s', (/ ('', i = 1, 10) /))
    19501946  TYPE(ctrl_out), SAVE :: o_dthin = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1951     'dthin', 'Hines GWD dT', 'K/s', (/ ('', i=1, 10) /))
     1947          'dthin', 'Hines GWD dT', 'K/s', (/ ('', i = 1, 10) /))
    19521948  TYPE(ctrl_out), SAVE :: o_dqch4 = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    1953     'dqch4', 'H2O due to CH4 oxidation & photolysis', '(kg/kg)/s', (/ ('', i=1, 10) /))
    1954 
    1955   type(ctrl_out), save:: o_du_gwd_rando &
    1956        = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'du_gwd_rando', &
    1957        "Random gravity waves dU/dt", "m/s2", (/ ('', i=1, 10) /))
    1958   type(ctrl_out), save:: o_dv_gwd_rando &
    1959        = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'dv_gwd_rando', &
    1960        "Random gravity waves dV/dt", "m/s2", (/ ('', i=1, 10) /))
    1961   type(ctrl_out), save:: o_ustr_gwd_hines &
    1962        = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'ustr_gwd_hines', &
    1963        "zonal wind stress Hines gravity waves", "Pa", (/ ('', i=1, 10) /))
    1964   type(ctrl_out), save:: o_vstr_gwd_hines &
    1965        = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'vstr_gwd_hines', &
    1966        "meridional wind stress Hines gravity waves", "Pa", (/ ('', i=1, 10) /))
    1967   type(ctrl_out), save:: o_ustr_gwd_front &
    1968        = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'ustr_gwd_front', &
    1969        "zonal wind stress fronts gravity waves", "Pa", (/ ('', i=1, 10) /))
    1970   type(ctrl_out), save:: o_vstr_gwd_front &
    1971        = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'vstr_gwd_front', &
    1972        "meridional wind stress fronts gravity waves", "Pa", (/ ('', i=1, 10) /))
    1973   type(ctrl_out), save:: o_ustr_gwd_rando &
    1974        = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'ustr_gwd_rando', &
    1975        "zonal wind stress random gravity waves", "Pa", (/ ('', i=1, 10) /))
    1976   type(ctrl_out), save:: o_vstr_gwd_rando &
    1977        = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'vstr_gwd_rando', &
    1978        "meridional wind stress random gravity waves", "Pa", (/ ('', i=1, 10) /))
     1949          'dqch4', 'H2O due to CH4 oxidation & photolysis', '(kg/kg)/s', (/ ('', i = 1, 10) /))
     1950
     1951  type(ctrl_out), save :: o_du_gwd_rando &
     1952          = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'du_gwd_rando', &
     1953                  "Random gravity waves dU/dt", "m/s2", (/ ('', i = 1, 10) /))
     1954  type(ctrl_out), save :: o_dv_gwd_rando &
     1955          = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'dv_gwd_rando', &
     1956                  "Random gravity waves dV/dt", "m/s2", (/ ('', i = 1, 10) /))
     1957  type(ctrl_out), save :: o_ustr_gwd_hines &
     1958          = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'ustr_gwd_hines', &
     1959                  "zonal wind stress Hines gravity waves", "Pa", (/ ('', i = 1, 10) /))
     1960  type(ctrl_out), save :: o_vstr_gwd_hines &
     1961          = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'vstr_gwd_hines', &
     1962                  "meridional wind stress Hines gravity waves", "Pa", (/ ('', i = 1, 10) /))
     1963  type(ctrl_out), save :: o_ustr_gwd_front &
     1964          = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'ustr_gwd_front', &
     1965                  "zonal wind stress fronts gravity waves", "Pa", (/ ('', i = 1, 10) /))
     1966  type(ctrl_out), save :: o_vstr_gwd_front &
     1967          = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'vstr_gwd_front', &
     1968                  "meridional wind stress fronts gravity waves", "Pa", (/ ('', i = 1, 10) /))
     1969  type(ctrl_out), save :: o_ustr_gwd_rando &
     1970          = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'ustr_gwd_rando', &
     1971                  "zonal wind stress random gravity waves", "Pa", (/ ('', i = 1, 10) /))
     1972  type(ctrl_out), save :: o_vstr_gwd_rando &
     1973          = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'vstr_gwd_rando', &
     1974                  "meridional wind stress random gravity waves", "Pa", (/ ('', i = 1, 10) /))
    19791975
    19801976  TYPE(ctrl_out), SAVE, ALLOCATABLE :: o_trac(:)
     
    20212017
    20222018  TYPE(ctrl_out), SAVE :: o_rsu = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    2023     'rsu', 'SW upward radiation', 'W m-2', (/ ('', i=1, 10) /))
     2019          'rsu', 'SW upward radiation', 'W m-2', (/ ('', i = 1, 10) /))
    20242020  TYPE(ctrl_out), SAVE :: o_rsd = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    2025     'rsd', 'SW downward radiation', 'W m-2', (/ ('', i=1, 10) /))
     2021          'rsd', 'SW downward radiation', 'W m-2', (/ ('', i = 1, 10) /))
    20262022  TYPE(ctrl_out), SAVE :: o_rlu = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    2027     'rlu', 'LW upward radiation', 'W m-2', (/ ('', i=1, 10) /))
     2023          'rlu', 'LW upward radiation', 'W m-2', (/ ('', i = 1, 10) /))
    20282024  TYPE(ctrl_out), SAVE :: o_rld = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    2029     'rld', 'LW downward radiation', 'W m-2', (/ ('', i=1, 10) /))
     2025          'rld', 'LW downward radiation', 'W m-2', (/ ('', i = 1, 10) /))
    20302026  TYPE(ctrl_out), SAVE :: o_rsucs = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    2031     'rsucs', 'SW CS upward radiation', 'W m-2', (/ ('', i=1, 10) /))
     2027          'rsucs', 'SW CS upward radiation', 'W m-2', (/ ('', i = 1, 10) /))
    20322028  TYPE(ctrl_out), SAVE :: o_rsucsaf = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    2033     'rsucsaf', 'SW CS clean (no aerosol) upward radiation', 'W m-2', (/ ('', i=1, 10) /))
     2029          'rsucsaf', 'SW CS clean (no aerosol) upward radiation', 'W m-2', (/ ('', i = 1, 10) /))
    20342030  TYPE(ctrl_out), SAVE :: o_rsdcs = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    2035     'rsdcs', 'SW CS downward radiation', 'W m-2', (/ ('', i=1, 10) /))
     2031          'rsdcs', 'SW CS downward radiation', 'W m-2', (/ ('', i = 1, 10) /))
    20362032  TYPE(ctrl_out), SAVE :: o_rsdcsaf = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    2037     'rsdcsaf', 'SW CS clean (no aerosol) downward radiation', 'W m-2', (/ ('', i=1, 10) /))
     2033          'rsdcsaf', 'SW CS clean (no aerosol) downward radiation', 'W m-2', (/ ('', i = 1, 10) /))
    20382034  TYPE(ctrl_out), SAVE :: o_rlucs = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    2039     'rlucs', 'LW CS upward radiation', 'W m-2', (/ ('', i=1, 10) /))
     2035          'rlucs', 'LW CS upward radiation', 'W m-2', (/ ('', i = 1, 10) /))
    20402036  TYPE(ctrl_out), SAVE :: o_rldcs = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    2041     'rldcs', 'LW CS downward radiation', 'W m-2', (/ ('', i=1, 10) /))
     2037          'rldcs', 'LW CS downward radiation', 'W m-2', (/ ('', i = 1, 10) /))
    20422038  TYPE(ctrl_out), SAVE :: o_tnt = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    2043     'tnt', 'Tendency of air temperature', 'K s-1', (/ ('', i=1, 10) /))
     2039          'tnt', 'Tendency of air temperature', 'K s-1', (/ ('', i = 1, 10) /))
    20442040  TYPE(ctrl_out), SAVE :: o_tntc = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    2045     'tntc', 'Tendency of air temperature due to Moist Convection', 'K s-1', (/ ('', i=1, 10) /))
     2041          'tntc', 'Tendency of air temperature due to Moist Convection', 'K s-1', (/ ('', i = 1, 10) /))
    20462042  TYPE(ctrl_out), SAVE :: o_tntr = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    2047     'tntr', 'Air temperature tendency due to Radiative heating', 'K s-1', (/ ('', i=1, 10) /))
    2048   TYPE(ctrl_out), SAVE :: o_tntscpbl = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/),                  &
    2049     'tntscpbl', 'Air temperature tendency due to St cloud and precipitation and BL mixing', &
    2050       'K s-1', (/ ('', i=1, 10) /))
     2043          'tntr', 'Air temperature tendency due to Radiative heating', 'K s-1', (/ ('', i = 1, 10) /))
     2044  TYPE(ctrl_out), SAVE :: o_tntscpbl = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     2045          'tntscpbl', 'Air temperature tendency due to St cloud and precipitation and BL mixing', &
     2046          'K s-1', (/ ('', i = 1, 10) /))
    20512047  TYPE(ctrl_out), SAVE :: o_tnhus = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    2052     'tnhus', 'Tendency of specific humidity', 's-1', (/ ('', i=1, 10) /))
     2048          'tnhus', 'Tendency of specific humidity', 's-1', (/ ('', i = 1, 10) /))
    20532049  TYPE(ctrl_out), SAVE :: o_tnhusc = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    2054     'tnhusc', 'Tendency of specific humidity due to convection', 's-1', (/ ('', i=1, 10) /))
     2050          'tnhusc', 'Tendency of specific humidity due to convection', 's-1', (/ ('', i = 1, 10) /))
    20552051  TYPE(ctrl_out), SAVE :: o_tnhusscpbl = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    2056     'tnhusscpbl', 'Tendency of Specific humidity due to ST cl, precip and BL mixing', 's-1', (/ ('', i=1, 10) /))
     2052          'tnhusscpbl', 'Tendency of Specific humidity due to ST cl, precip and BL mixing', 's-1', (/ ('', i = 1, 10) /))
    20572053  TYPE(ctrl_out), SAVE :: o_evu = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    2058     'evu', 'Eddy viscosity coefficient for Momentum Variables', 'm2 s-1', (/ ('', i=1, 10) /))
     2054          'evu', 'Eddy viscosity coefficient for Momentum Variables', 'm2 s-1', (/ ('', i = 1, 10) /))
    20592055  TYPE(ctrl_out), SAVE :: o_h2o = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    2060     'h2o', 'Mass Fraction of Water', '1', (/ ('', i=1, 10) /))
     2056          'h2o', 'Mass Fraction of Water', '1', (/ ('', i = 1, 10) /))
    20612057  TYPE(ctrl_out), SAVE :: o_mcd = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    2062     'mcd', 'Downdraft COnvective Mass Flux', 'kg/(m2*s)', (/ ('', i=1, 10) /))
     2058          'mcd', 'Downdraft COnvective Mass Flux', 'kg/(m2*s)', (/ ('', i = 1, 10) /))
    20632059  TYPE(ctrl_out), SAVE :: o_dmc = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    2064     'dmc', 'Deep COnvective Mass Flux', 'kg/(m2*s)', (/ ('', i=1, 10) /))
     2060          'dmc', 'Deep COnvective Mass Flux', 'kg/(m2*s)', (/ ('', i = 1, 10) /))
    20652061  TYPE(ctrl_out), SAVE :: o_ref_liq = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    2066     'ref_liq', 'Effective radius of convective cloud liquid water particle', 'm', (/ ('', i=1, 10) /))
     2062          'ref_liq', 'Effective radius of convective cloud liquid water particle', 'm', (/ ('', i = 1, 10) /))
    20672063  TYPE(ctrl_out), SAVE :: o_ref_ice = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    2068     'ref_ice', 'Effective radius of startiform cloud ice particle', 'm', (/ ('', i=1, 10) /))
     2064          'ref_ice', 'Effective radius of startiform cloud ice particle', 'm', (/ ('', i = 1, 10) /))
    20692065  TYPE(ctrl_out), SAVE :: o_rsut4co2 = ctrl_out((/ 5, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    2070     'rsut4co2', 'TOA Out SW in 4xCO2 atmosphere', 'W/m2', (/ ('', i=1, 10) /))
     2066          'rsut4co2', 'TOA Out SW in 4xCO2 atmosphere', 'W/m2', (/ ('', i = 1, 10) /))
    20712067  TYPE(ctrl_out), SAVE :: o_rlut4co2 = ctrl_out((/ 5, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    2072     'rlut4co2', 'TOA Out LW in 4xCO2 atmosphere', 'W/m2', (/ ('', i=1, 10) /))
     2068          'rlut4co2', 'TOA Out LW in 4xCO2 atmosphere', 'W/m2', (/ ('', i = 1, 10) /))
    20732069  TYPE(ctrl_out), SAVE :: o_rsutcs4co2 = ctrl_out((/ 5, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    2074     'rsutcs4co2', 'TOA Out CS SW in 4xCO2 atmosphere', 'W/m2', (/ ('', i=1, 10) /))
     2070          'rsutcs4co2', 'TOA Out CS SW in 4xCO2 atmosphere', 'W/m2', (/ ('', i = 1, 10) /))
    20752071  TYPE(ctrl_out), SAVE :: o_rlutcs4co2 = ctrl_out((/ 5, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    2076     'rlutcs4co2', 'TOA Out CS LW in 4xCO2 atmosphere', 'W/m2', (/ ('', i=1, 10) /))
     2072          'rlutcs4co2', 'TOA Out CS LW in 4xCO2 atmosphere', 'W/m2', (/ ('', i = 1, 10) /))
    20772073  TYPE(ctrl_out), SAVE :: o_rsu4co2 = ctrl_out((/ 5, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    2078     'rsu4co2', 'Upwelling SW 4xCO2 atmosphere', 'W/m2', (/ ('', i=1, 10) /))
     2074          'rsu4co2', 'Upwelling SW 4xCO2 atmosphere', 'W/m2', (/ ('', i = 1, 10) /))
    20792075  TYPE(ctrl_out), SAVE :: o_rlu4co2 = ctrl_out((/ 5, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    2080     'rlu4co2', 'Upwelling LW 4xCO2 atmosphere', 'W/m2', (/ ('', i=1, 10) /))
     2076          'rlu4co2', 'Upwelling LW 4xCO2 atmosphere', 'W/m2', (/ ('', i = 1, 10) /))
    20812077  TYPE(ctrl_out), SAVE :: o_rsucs4co2 = ctrl_out((/ 5, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    2082     'rsucs4co2', 'Upwelling CS SW 4xCO2 atmosphere', 'W/m2', (/ ('', i=1, 10) /))
     2078          'rsucs4co2', 'Upwelling CS SW 4xCO2 atmosphere', 'W/m2', (/ ('', i = 1, 10) /))
    20832079  TYPE(ctrl_out), SAVE :: o_rlucs4co2 = ctrl_out((/ 5, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    2084     'rlucs4co2', 'Upwelling CS LW 4xCO2 atmosphere', 'W/m2', (/ ('', i=1, 10) /))
     2080          'rlucs4co2', 'Upwelling CS LW 4xCO2 atmosphere', 'W/m2', (/ ('', i = 1, 10) /))
    20852081  TYPE(ctrl_out), SAVE :: o_rsd4co2 = ctrl_out((/ 5, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    2086     'rsd4co2', 'Downwelling SW 4xCO2 atmosphere', 'W/m2', (/ ('', i=1, 10) /))
     2082          'rsd4co2', 'Downwelling SW 4xCO2 atmosphere', 'W/m2', (/ ('', i = 1, 10) /))
    20872083  TYPE(ctrl_out), SAVE :: o_rld4co2 = ctrl_out((/ 5, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    2088     'rld4co2', 'Downwelling LW 4xCO2 atmosphere', 'W/m2', (/ ('', i=1, 10) /))
     2084          'rld4co2', 'Downwelling LW 4xCO2 atmosphere', 'W/m2', (/ ('', i = 1, 10) /))
    20892085  TYPE(ctrl_out), SAVE :: o_rsdcs4co2 = ctrl_out((/ 5, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    2090     'rsdcs4co2', 'Downwelling CS SW 4xCO2 atmosphere', 'W/m2', (/ ('', i=1, 10) /))
     2086          'rsdcs4co2', 'Downwelling CS SW 4xCO2 atmosphere', 'W/m2', (/ ('', i = 1, 10) /))
    20912087  TYPE(ctrl_out), SAVE :: o_rldcs4co2 = ctrl_out((/ 5, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    2092     'rldcs4co2', 'Downwelling CS LW 4xCO2 atmosphere', 'W/m2', (/ ('', i=1, 10) /))
     2088          'rldcs4co2', 'Downwelling CS LW 4xCO2 atmosphere', 'W/m2', (/ ('', i = 1, 10) /))
    20932089  TYPE(ctrl_out), SAVE :: o_snowsrf = ctrl_out((/ 1, 1, 10, 1, 10, 10, 11, 11, 11, 11/), &
    2094     'snowsrf', 'Snow mass at surface', 'kg/m2', (/ ('', i=1, 10) /))
     2090          'snowsrf', 'Snow mass at surface', 'kg/m2', (/ ('', i = 1, 10) /))
    20952091  TYPE(ctrl_out), SAVE :: o_qsnow = ctrl_out((/ 1, 1, 10, 1, 10, 10, 11, 11, 11, 11/), &
    2096     'qsnow', 'Water contained in snow', 'kg/m2', (/ ('', i=1, 10) /))
     2092          'qsnow', 'Water contained in snow', 'kg/m2', (/ ('', i = 1, 10) /))
    20972093  TYPE(ctrl_out), SAVE :: o_snowhgt = ctrl_out((/ 1, 1, 10, 1, 10, 10, 11, 11, 11, 11/), &
    2098     'snowhgt', 'Snow height at surface', 'm', (/ ('', i=1, 10) /))
     2094          'snowhgt', 'Snow height at surface', 'm', (/ ('', i = 1, 10) /))
    20992095  TYPE(ctrl_out), SAVE :: o_toice = ctrl_out((/ 1, 1, 10, 1, 10, 10, 11, 11, 11, 11/), &
    2100     'to_ice', 'Snow passed to ice model', 'kg/m2', (/ ('', i=1, 10) /))
     2096          'to_ice', 'Snow passed to ice model', 'kg/m2', (/ ('', i = 1, 10) /))
    21012097  TYPE(ctrl_out), SAVE :: o_sissnow = ctrl_out((/ 1, 1, 10, 1, 10, 10, 11, 11, 11, 11/), &
    2102     'sissnow', 'Snow in snow model', 'kg/m2', (/ ('', i=1, 10) /))
     2098          'sissnow', 'Snow in snow model', 'kg/m2', (/ ('', i = 1, 10) /))
    21032099  TYPE(ctrl_out), SAVE :: o_runoff = ctrl_out((/ 1, 1, 10, 1, 10, 10, 11, 11, 11, 11/), &
    2104     'runoff', 'Run-off rate land ice', 'kg/m2/s', (/ ('', i=1, 10) /))
     2100          'runoff', 'Run-off rate land ice', 'kg/m2/s', (/ ('', i = 1, 10) /))
    21052101#ifdef ISO
    21062102  TYPE(ctrl_out), SAVE :: o_runoff_diag = ctrl_out((/ 1, 1, 10, 1, 10, 10, 11, 11, 11, 11/), &
     
    21082104#endif
    21092105  TYPE(ctrl_out), SAVE :: o_albslw3 = ctrl_out((/ 1, 1, 1, 1, 10, 10, 11, 11, 11, 11/), &
    2110     'albslw3', 'Surface albedo LW3', '-', (/ ('', i=1, 10) /))
    2111 
    2112 !--aviation & supersaturation
     2106          'albslw3', 'Surface albedo LW3', '-', (/ ('', i = 1, 10) /))
     2107
     2108  !--aviation & supersaturation
    21132109  TYPE(ctrl_out), SAVE :: o_oclr = ctrl_out((/ 1, 1, 1, 1, 10, 10, 11, 11, 11, 11/), &
    2114     'oclr', 'Clear sky total water', 'kg/kg', (/ ('', i=1, 10) /))
     2110          'oclr', 'Clear sky total water', 'kg/kg', (/ ('', i = 1, 10) /))
    21152111  TYPE(ctrl_out), SAVE :: o_ocld = ctrl_out((/ 1, 1, 1, 1, 10, 10, 11, 11, 11, 11/), &
    2116     'ocld', 'Cloudy sky total water', 'kg/kg', (/ ('', i=1, 10) /))
     2112          'ocld', 'Cloudy sky total water', 'kg/kg', (/ ('', i = 1, 10) /))
    21172113  TYPE(ctrl_out), SAVE :: o_oss = ctrl_out((/ 1, 1, 1, 1, 10, 10, 11, 11, 11, 11/), &
    2118     'oss', 'ISSR total water', 'kg/kg', (/ ('', i=1, 10) /))
     2114          'oss', 'ISSR total water', 'kg/kg', (/ ('', i = 1, 10) /))
    21192115  TYPE(ctrl_out), SAVE :: o_ovc = ctrl_out((/ 1, 1, 1, 1, 10, 10, 11, 11, 11, 11/), &
    2120     'ovc', 'In-cloup vapor', 'kg/kg', (/ ('', i=1, 10) /))
     2116          'ovc', 'In-cloup vapor', 'kg/kg', (/ ('', i = 1, 10) /))
    21212117  TYPE(ctrl_out), SAVE :: o_rnebclr = ctrl_out((/ 1, 1, 1, 1, 10, 10, 11, 11, 11, 11/), &
    2122     'rnebclr', 'Clear sky fraction', '-', (/ ('', i=1, 10) /))
     2118          'rnebclr', 'Clear sky fraction', '-', (/ ('', i = 1, 10) /))
    21232119  TYPE(ctrl_out), SAVE :: o_rnebss = ctrl_out((/ 1, 1, 1, 1, 10, 10, 11, 11, 11, 11/), &
    2124     'rnebss', 'ISSR fraction', '-', (/ ('', i=1, 10) /))
     2120          'rnebss', 'ISSR fraction', '-', (/ ('', i = 1, 10) /))
    21252121  TYPE(ctrl_out), SAVE :: o_rnebseri = ctrl_out((/ 1, 1, 1, 1, 10, 10, 11, 11, 11, 11/), &
    2126     'rnebseri', 'Cloud fraction', '-', (/ ('', i=1, 10) /))
     2122          'rnebseri', 'Cloud fraction', '-', (/ ('', i = 1, 10) /))
    21272123  TYPE(ctrl_out), SAVE :: o_gammass = ctrl_out((/ 1, 1, 1, 1, 10, 10, 11, 11, 11, 11/), &
    2128     'gammass', 'Gamma supersaturation', '', (/ ('', i=1, 10) /))
     2124          'gammass', 'Gamma supersaturation', '', (/ ('', i = 1, 10) /))
    21292125  TYPE(ctrl_out), SAVE :: o_N1_ss = ctrl_out((/ 1, 1, 1, 1, 10, 10, 11, 11, 11, 11/), &
    2130     'N1ss', 'N1', '', (/ ('', i=1, 10) /))
     2126          'N1ss', 'N1', '', (/ ('', i = 1, 10) /))
    21312127  TYPE(ctrl_out), SAVE :: o_N2_ss = ctrl_out((/ 1, 1, 1, 1, 10, 10, 11, 11, 11, 11/), &
    2132     'N2ss', 'N2', '', (/ ('', i=1, 10) /))
     2128          'N2ss', 'N2', '', (/ ('', i = 1, 10) /))
    21332129  TYPE(ctrl_out), SAVE :: o_drnebsub = ctrl_out((/ 1, 1, 1, 1, 10, 10, 11, 11, 11, 11/), &
    2134     'drnebsub', 'Cloud fraction change because of sublimation', 's-1', (/ ('', i=1, 10) /))
     2130          'drnebsub', 'Cloud fraction change because of sublimation', 's-1', (/ ('', i = 1, 10) /))
    21352131  TYPE(ctrl_out), SAVE :: o_drnebcon = ctrl_out((/ 1, 1, 1, 1, 10, 10, 11, 11, 11, 11/), &
    2136     'drnebcon', 'Cloud fraction change because of condensation', 's-1', (/ ('', i=1, 10) /))
     2132          'drnebcon', 'Cloud fraction change because of condensation', 's-1', (/ ('', i = 1, 10) /))
    21372133  TYPE(ctrl_out), SAVE :: o_drnebtur = ctrl_out((/ 1, 1, 1, 1, 10, 10, 11, 11, 11, 11/), &
    2138     'drnebtur', 'Cloud fraction change because of turbulence', 's-1', (/ ('', i=1, 10) /))
     2134          'drnebtur', 'Cloud fraction change because of turbulence', 's-1', (/ ('', i = 1, 10) /))
    21392135  TYPE(ctrl_out), SAVE :: o_drnebavi = ctrl_out((/ 1, 1, 1, 1, 10, 10, 11, 11, 11, 11/), &
    2140     'drnebavi', 'Cloud fraction change because of aviation', 's-1', (/ ('', i=1, 10) /))
     2136          'drnebavi', 'Cloud fraction change because of aviation', 's-1', (/ ('', i = 1, 10) /))
    21412137  TYPE(ctrl_out), SAVE :: o_qsatl = ctrl_out((/ 1, 1, 1, 1, 10, 10, 11, 11, 11, 11/), &
    2142     'qsatl', 'Saturation with respect to liquid water', '', (/ ('', i=1, 10) /))
     2138          'qsatl', 'Saturation with respect to liquid water', '', (/ ('', i = 1, 10) /))
    21432139  TYPE(ctrl_out), SAVE :: o_qsats = ctrl_out((/ 1, 1, 1, 1, 10, 10, 11, 11, 11, 11/), &
    2144     'qsats', 'Saturation with respect to solid water', '', (/ ('', i=1, 10) /))
     2140          'qsats', 'Saturation with respect to solid water', '', (/ ('', i = 1, 10) /))
    21452141  TYPE(ctrl_out), SAVE :: o_flight_m = ctrl_out((/ 1, 1, 1, 1, 10, 10, 11, 11, 11, 11/), &
    2146     'flightm', 'Flown meters', 'm/s/mesh', (/ ('', i=1, 10) /))
     2142          'flightm', 'Flown meters', 'm/s/mesh', (/ ('', i = 1, 10) /))
    21472143  TYPE(ctrl_out), SAVE :: o_flight_h2o = ctrl_out((/ 1, 1, 1, 1, 10, 10, 11, 11, 11, 11/), &
    2148     'flighth2o', 'H2O flight emission', 'kg H2O/s/mesh', (/ ('', i=1, 10) /))
    2149   TYPE(ctrl_out), SAVE :: o_Tcontr = ctrl_out((/ 1, 1, 1, 1, 11, 11, 11, 11, 11, 11/),&
    2150     'Tcontr', 'Temperature threshold for contrail formation', 'K', (/ ('',i=1,10) /))
    2151   TYPE(ctrl_out), SAVE :: o_qcontr = ctrl_out((/ 1, 1, 1, 1, 11, 11, 11, 11, 11, 11/),&
    2152     'qcontr', 'Specific humidity threshold for contrail formation','Pa', (/ ('', i=1, 10) /))
    2153   TYPE(ctrl_out), SAVE :: o_qcontr2 = ctrl_out((/ 1, 1, 1, 1, 11, 11, 11, 11, 11, 11/),&
    2154     'qcontr2', 'Specific humidity threshold for contrail formation','kg/kg', (/ ('', i=1, 10) /))
    2155   TYPE(ctrl_out), SAVE :: o_fcontrN = ctrl_out((/ 2, 2, 2, 2, 2, 2, 11, 11, 11, 11/),&
    2156     'fcontrN', 'Fraction with non-persistent contrail in clear-sky', '-', (/ ('', i=1,10)/))
    2157   TYPE(ctrl_out), SAVE :: o_fcontrP = ctrl_out((/ 2, 2, 2, 2, 2, 2, 11, 11, 11, 11/),&
    2158     'fcontrP', 'Fraction with persistent contrail in ISSR', '-', (/ ('', i=1,10)/))
    2159 
    2160 !!!!!!!!!!!!! Sorties niveaux standards de pression NMC
     2144          'flighth2o', 'H2O flight emission', 'kg H2O/s/mesh', (/ ('', i = 1, 10) /))
     2145  TYPE(ctrl_out), SAVE :: o_Tcontr = ctrl_out((/ 1, 1, 1, 1, 11, 11, 11, 11, 11, 11/), &
     2146          'Tcontr', 'Temperature threshold for contrail formation', 'K', (/ ('', i = 1, 10) /))
     2147  TYPE(ctrl_out), SAVE :: o_qcontr = ctrl_out((/ 1, 1, 1, 1, 11, 11, 11, 11, 11, 11/), &
     2148          'qcontr', 'Specific humidity threshold for contrail formation', 'Pa', (/ ('', i = 1, 10) /))
     2149  TYPE(ctrl_out), SAVE :: o_qcontr2 = ctrl_out((/ 1, 1, 1, 1, 11, 11, 11, 11, 11, 11/), &
     2150          'qcontr2', 'Specific humidity threshold for contrail formation', 'kg/kg', (/ ('', i = 1, 10) /))
     2151  TYPE(ctrl_out), SAVE :: o_fcontrN = ctrl_out((/ 2, 2, 2, 2, 2, 2, 11, 11, 11, 11/), &
     2152          'fcontrN', 'Fraction with non-persistent contrail in clear-sky', '-', (/ ('', i = 1, 10)/))
     2153  TYPE(ctrl_out), SAVE :: o_fcontrP = ctrl_out((/ 2, 2, 2, 2, 2, 2, 11, 11, 11, 11/), &
     2154          'fcontrP', 'Fraction with persistent contrail in ISSR', '-', (/ ('', i = 1, 10)/))
     2155
     2156  !!!!!!!!!!!!! Sorties niveaux standards de pression NMC
    21612157  TYPE(ctrl_out), SAVE :: o_tnondef = ctrl_out((/ 11, 11, 11, 11, 11, 11, 5, 5, 5, 11/), &
    2162        'tnondef', 'Undefined value of T', 'K', (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", &
    2163        "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
     2158          'tnondef', 'Undefined value of T', 'K', (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", &
     2159                  "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
    21642160  TYPE(ctrl_out), SAVE :: o_ta = ctrl_out((/ 11, 11, 11, 11, 11, 11, 5, 5, 5, 11/), &
    2165        'ta', 'Air temperature', 'K', (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", &
    2166        "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
    2167   TYPE(ctrl_out), SAVE :: o_zg  = ctrl_out((/ 11, 11, 11, 11, 11, 11, 5, 5, 5, 11/), &
    2168        'zg', 'Geopotential height', 'm', (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", &
    2169        "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
     2161          'ta', 'Air temperature', 'K', (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", &
     2162                  "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
     2163  TYPE(ctrl_out), SAVE :: o_zg = ctrl_out((/ 11, 11, 11, 11, 11, 11, 5, 5, 5, 11/), &
     2164          'zg', 'Geopotential height', 'm', (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", &
     2165                  "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
    21702166  TYPE(ctrl_out), SAVE :: o_hus = ctrl_out((/ 11, 11, 11, 11, 11, 11, 5, 5, 5, 11/), &
    2171        'hus', 'Specific humidity', '1', (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", &
    2172        "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
     2167          'hus', 'Specific humidity', '1', (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", &
     2168                  "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
    21732169  TYPE(ctrl_out), SAVE :: o_hur = ctrl_out((/ 11, 11, 11, 11, 11, 11, 5, 5, 5, 11/), &
    2174        'hur', 'Relative humidity', '%', (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", &
    2175        "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
     2170          'hur', 'Relative humidity', '%', (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", &
     2171                  "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
    21762172  TYPE(ctrl_out), SAVE :: o_ua = ctrl_out((/ 11, 11, 11, 11, 11, 11, 5, 5, 5, 11/), &
    2177        'ua', 'Eastward wind', 'm s-1', (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", &
    2178        "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
     2173          'ua', 'Eastward wind', 'm s-1', (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", &
     2174                  "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
    21792175  TYPE(ctrl_out), SAVE :: o_va = ctrl_out((/ 11, 11, 11, 11, 11, 11, 5, 5, 5, 11/), &
    2180        'va', 'Northward wind', 'm s-1', (/ ('', i=1, 10)/))
     2176          'va', 'Northward wind', 'm s-1', (/ ('', i = 1, 10)/))
    21812177  TYPE(ctrl_out), SAVE :: o_wap = ctrl_out((/ 11, 11, 11, 11, 11, 11, 5, 5, 5, 11/), &
    2182        'wap', 'Lagrangian tendency of air pressure', 'Pa s-1', (/ "inst(X)", "inst(X)", "inst(X)", &
    2183        "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
     2178          'wap', 'Lagrangian tendency of air pressure', 'Pa s-1', (/ "inst(X)", "inst(X)", "inst(X)", &
     2179                  "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
    21842180  TYPE(ctrl_out), SAVE :: o_psbg = ctrl_out((/ 11, 11, 11, 11, 11, 11, 5, 5, 5, 11/), &
    2185        'psbg', 'Pressure sfce below ground', '%', (/ "inst(X)", "inst(X)", "inst(X)", &
    2186        "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
     2181          'psbg', 'Pressure sfce below ground', '%', (/ "inst(X)", "inst(X)", "inst(X)", &
     2182                  "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
    21872183  TYPE(ctrl_out), SAVE :: o_tro3 = ctrl_out((/ 11, 11, 11, 11, 11, 11, 5, 5, 5, 11/), &
    2188        'tro3', 'Ozone mole fraction', '1e-9', (/ "inst(X)", "inst(X)", "inst(X)", &
    2189        "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
     2184          'tro3', 'Ozone mole fraction', '1e-9', (/ "inst(X)", "inst(X)", "inst(X)", &
     2185                  "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
    21902186  TYPE(ctrl_out), SAVE :: o_tro3_daylight = ctrl_out((/ 11, 11, 11, 11, 11, 11, 5, 5, 5, 11/), &
    2191        'tro3_daylight', 'Daylight ozone mole fraction', '1e-9', (/ "inst(X)", "inst(X)", "inst(X)", &
    2192        "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
     2187          'tro3_daylight', 'Daylight ozone mole fraction', '1e-9', (/ "inst(X)", "inst(X)", "inst(X)", &
     2188                  "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
    21932189  TYPE(ctrl_out), SAVE :: o_uxv = ctrl_out((/ 11, 11, 11, 11, 11, 11, 6, 6, 6, 11/), &
    2194        'uv', 'uv', 'm2/s2', (/ "inst(X)", "inst(X)", "inst(X)", &
    2195        "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
     2190          'uv', 'uv', 'm2/s2', (/ "inst(X)", "inst(X)", "inst(X)", &
     2191                  "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
    21962192  TYPE(ctrl_out), SAVE :: o_vxq = ctrl_out((/ 11, 11, 11, 11, 11, 11, 6, 6, 6, 11/), &
    2197        'vxq', 'vxq', 'm/s * (kg/kg)', (/ "inst(X)", "inst(X)", "inst(X)", &
    2198        "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
     2193          'vxq', 'vxq', 'm/s * (kg/kg)', (/ "inst(X)", "inst(X)", "inst(X)", &
     2194                  "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
    21992195  TYPE(ctrl_out), SAVE :: o_vxT = ctrl_out((/ 11, 11, 11, 11, 11, 11, 6, 6, 6, 11/), &
    2200        'vT', 'vT', 'mK/s', (/ "inst(X)", "inst(X)", "inst(X)", &
    2201        "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
     2196          'vT', 'vT', 'mK/s', (/ "inst(X)", "inst(X)", "inst(X)", &
     2197                  "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
    22022198  TYPE(ctrl_out), SAVE :: o_wxq = ctrl_out((/ 11, 11, 11, 11, 11, 11, 6, 6, 6, 11/), &
    2203        'wq', 'wq', '(Pa/s)*(kg/kg)', (/ "inst(X)", "inst(X)", "inst(X)", &
    2204        "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
     2199          'wq', 'wq', '(Pa/s)*(kg/kg)', (/ "inst(X)", "inst(X)", "inst(X)", &
     2200                  "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
    22052201  TYPE(ctrl_out), SAVE :: o_vxphi = ctrl_out((/ 11, 11, 11, 11, 11, 11, 6, 6, 6, 11/), &
    2206        'vphi', 'vphi', 'm2/s', (/ "inst(X)", "inst(X)", "inst(X)", &
    2207        "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
     2202          'vphi', 'vphi', 'm2/s', (/ "inst(X)", "inst(X)", "inst(X)", &
     2203                  "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
    22082204  TYPE(ctrl_out), SAVE :: o_wxT = ctrl_out((/ 11, 11, 11, 11, 11, 11, 6, 6, 6, 11/), &
    2209        'wT', 'wT', '"K*Pa/s', (/ "inst(X)", "inst(X)", "inst(X)", &
    2210        "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
     2205          'wT', 'wT', '"K*Pa/s', (/ "inst(X)", "inst(X)", "inst(X)", &
     2206                  "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
    22112207  TYPE(ctrl_out), SAVE :: o_uxu = ctrl_out((/ 11, 11, 11, 11, 11, 11, 6, 6, 6, 11/), &
    2212        'u2', 'u2', 'm2/s2', (/ "inst(X)", "inst(X)", "inst(X)", &
    2213        "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
     2208          'u2', 'u2', 'm2/s2', (/ "inst(X)", "inst(X)", "inst(X)", &
     2209                  "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
    22142210  TYPE(ctrl_out), SAVE :: o_vxv = ctrl_out((/ 11, 11, 11, 11, 11, 11, 6, 6, 6, 11/), &
    2215        'v2', 'v2', 'm2/s2', (/ "inst(X)", "inst(X)", "inst(X)", &
    2216        "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
    2217    TYPE(ctrl_out), SAVE :: o_TxT = ctrl_out((/ 11, 11, 11, 11, 11, 11, 6, 6, 6, 11/), &
    2218        'T2', 'T2', 'K2', (/ "inst(X)", "inst(X)", "inst(X)", &
    2219        "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
    2220 
    2221 #ifdef CPP_Dust
    2222       INCLUDE 'spla_output_dat.h'
    2223 #endif
    2224 
    2225    type(ctrl_out), save:: o_delta_sst &
    2226         = ctrl_out([1, 10, 10, 1, 10, 10, 11, 11, 11, 11], 'delta_SST', &
    2227         "ocean-air interface temperature minus bulk SST", "K", '')
    2228 
    2229    type(ctrl_out), save:: o_delta_sal &
    2230         = ctrl_out([1, 10, 10, 1, 10, 10, 11, 11, 11, 11], 'delta_sal', &
    2231         "ocean-air interface salinity minus bulk salinity", "ppt", '')
    2232 
    2233    type(ctrl_out), save:: o_ds_ns &
    2234         = ctrl_out([1, 10, 10, 1, 10, 10, 11, 11, 11, 11], 'dS_ns', &
    2235         "subskin salinity minus foundation salinity", "ppt", '')
    2236 
    2237    type(ctrl_out), save:: o_dt_ns &
    2238         = ctrl_out([1, 10, 10, 1, 10, 10, 11, 11, 11, 11], 'dT_ns', &
    2239         "subskin temperature minus foundation temperature", "K", '')
    2240 
    2241    type(ctrl_out), save:: o_dter &
    2242         = ctrl_out([1, 10, 10, 1, 10, 10, 11, 11, 11, 11], 'dTer', &
    2243         "ocean-air interface temperature minus sub-skin temperature", "K", '')
    2244 
    2245    type(ctrl_out), save:: o_dser &
    2246         = ctrl_out([1, 10, 10, 1, 10, 10, 11, 11, 11, 11], 'dSer', &
    2247         "ocean-air interface salinity minus sub-skin salinity", "ppt", '')
    2248 
    2249    type(ctrl_out), save:: o_tkt &
    2250         = ctrl_out([1, 10, 10, 1, 10, 10, 11, 11, 11, 11], 'tkt', &
    2251         "thickness of thermal microlayer", "m", '')
    2252 
    2253    type(ctrl_out), save:: o_tks &
    2254         = ctrl_out([1, 10, 10, 1, 10, 10, 11, 11, 11, 11], 'tks', &
    2255         "thickness of salinity microlayer", "m", '')
    2256 
    2257    type(ctrl_out), save:: o_taur &
    2258         = ctrl_out([1, 10, 10, 1, 10, 10, 11, 11, 11, 11], 'taur', &
    2259         "momentum flux due to rain", "Pa", '')
    2260 
    2261    type(ctrl_out), save:: o_sss &
    2262         = ctrl_out([1, 10, 10, 1, 10, 10, 11, 11, 11, 11], 'SSS', &
    2263         "bulk sea-surface salinity", "ppt", '')
     2211          'v2', 'v2', 'm2/s2', (/ "inst(X)", "inst(X)", "inst(X)", &
     2212                  "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
     2213  TYPE(ctrl_out), SAVE :: o_TxT = ctrl_out((/ 11, 11, 11, 11, 11, 11, 6, 6, 6, 11/), &
     2214          'T2', 'T2', 'K2', (/ "inst(X)", "inst(X)", "inst(X)", &
     2215                  "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
     2216
     2217  INCLUDE 'spla_output_dat.h'
     2218
     2219  type(ctrl_out), save :: o_delta_sst &
     2220          = ctrl_out([1, 10, 10, 1, 10, 10, 11, 11, 11, 11], 'delta_SST', &
     2221                  "ocean-air interface temperature minus bulk SST", "K", '')
     2222
     2223  type(ctrl_out), save :: o_delta_sal &
     2224          = ctrl_out([1, 10, 10, 1, 10, 10, 11, 11, 11, 11], 'delta_sal', &
     2225                  "ocean-air interface salinity minus bulk salinity", "ppt", '')
     2226
     2227  type(ctrl_out), save :: o_ds_ns &
     2228          = ctrl_out([1, 10, 10, 1, 10, 10, 11, 11, 11, 11], 'dS_ns', &
     2229                  "subskin salinity minus foundation salinity", "ppt", '')
     2230
     2231  type(ctrl_out), save :: o_dt_ns &
     2232          = ctrl_out([1, 10, 10, 1, 10, 10, 11, 11, 11, 11], 'dT_ns', &
     2233                  "subskin temperature minus foundation temperature", "K", '')
     2234
     2235  type(ctrl_out), save :: o_dter &
     2236          = ctrl_out([1, 10, 10, 1, 10, 10, 11, 11, 11, 11], 'dTer', &
     2237                  "ocean-air interface temperature minus sub-skin temperature", "K", '')
     2238
     2239  type(ctrl_out), save :: o_dser &
     2240          = ctrl_out([1, 10, 10, 1, 10, 10, 11, 11, 11, 11], 'dSer', &
     2241                  "ocean-air interface salinity minus sub-skin salinity", "ppt", '')
     2242
     2243  type(ctrl_out), save :: o_tkt &
     2244          = ctrl_out([1, 10, 10, 1, 10, 10, 11, 11, 11, 11], 'tkt', &
     2245                  "thickness of thermal microlayer", "m", '')
     2246
     2247  type(ctrl_out), save :: o_tks &
     2248          = ctrl_out([1, 10, 10, 1, 10, 10, 11, 11, 11, 11], 'tks', &
     2249                  "thickness of salinity microlayer", "m", '')
     2250
     2251  type(ctrl_out), save :: o_taur &
     2252          = ctrl_out([1, 10, 10, 1, 10, 10, 11, 11, 11, 11], 'taur', &
     2253                  "momentum flux due to rain", "Pa", '')
     2254
     2255  type(ctrl_out), save :: o_sss &
     2256          = ctrl_out([1, 10, 10, 1, 10, 10, 11, 11, 11, 11], 'SSS', &
     2257                  "bulk sea-surface salinity", "ppt", '')
    22642258
    22652259END MODULE phys_output_ctrlout_mod
  • LMDZ6/branches/Amaury_dev/libf/phylmdiso/phys_output_mod.F90

    r5098 r5099  
    11! $Id: phys_output_mod.F90 3792 2021-01-04 17:01:25Z evignon $
    2 !
    32
    43MODULE phys_output_mod
     
    307306! afin d avoir une seule sortie mensuelle par mois lorsque l on tourne
    308307! par annee (IM).
    309 !
     308
    310309     idayref = day_ref
    311310     IF (klon_glo==1) THEN
     
    411410          spectband(ISW)=(wn1_sun(ISW)+wn2_sun(ISW))/2
    412411        ENDDO
    413 !
     412
    414413!!! ajout axe vertical spectband : solar band number
    415414        CALL wxios_add_vaxis("spectband", NSW, spectband, positif='down')
     
    630629
    631630    ipos=scan(str,'0123456789.',.TRUE.)
    632     ! 
     631
    633632    il=len_trim(str)
    634633    WRITE(lunout,*) "ipos = ", ipos
  • LMDZ6/branches/Amaury_dev/libf/phylmdiso/phys_output_var_mod.F90

    r5087 r5099  
    1 !
     1
    22! phys_local_var_mod.F90 1327 2010-03-17 15:33:56Z idelkadi $
    33
     
    77  ! Variables outputs pour les ecritures des sorties
    88  !======================================================================
    9   !
    10   !
     9
     10
    1111  !======================================================================
    1212  ! Declaration des variables
  • LMDZ6/branches/Amaury_dev/libf/phylmdiso/physiq_mod.F90

    r5098 r5099  
    1 !
     1
    22! $Id: physiq_mod.F90 3908 2021-05-20 07:11:13Z idelkadi $
    3 !
     3
    44!#define IO_DEBUG
    55MODULE physiq_mod
     
    107107    USE paramLMDZ_phy_mod
    108108
    109 
    110     !USE cmp_seri_mod
    111 !    USE add_phys_tend_mod, only : add_pbl_tend, add_phys_tend, diag_phys_tend, prt_enerbil, &
    112 !  &      fl_ebil, fl_cor_ebil
    113 
    114 !!!!!!!!!!!!!!!!!! "USE" section for CPP keys !!!!!!!!!!!!!!!!!!!!!!!!
    115 !
    116 !
    117 #ifdef CPP_Dust
    118     USE phytracr_spl_mod, ONLY: phytracr_spl, phytracr_spl_out_init
     109        USE phytracr_spl_mod, ONLY: phytracr_spl, phytracr_spl_out_init
    119110    USE phys_output_write_spl_mod
    120 #else
    121111    USE phytrac_mod, ONLY : phytrac_init, phytrac
    122112    USE phys_output_write_mod
    123 #endif
     113
     114    USE lmdz_cppkeys_wrapper, ONLY: CPPKEY_DUST
     115
     116!!!!!!!!!!!!!!!!!! "USE" section for CPP keys !!!!!!!!!!!!!!!!!!!!!!!!
     117
    124118
    125119#ifdef REPROBUS
     
    178172#endif
    179173
    180 !
    181 !
     174
    182175!!!!!!!!!!!!!!!!!!  END "USE" for CPP keys !!!!!!!!!!!!!!!!!!!!!!
    183176
     
    201194!       d_t_ajs_w,d_q_ajs_w, &
    202195!       d_t_ajs_x,d_q_ajs_x, &
    203        !
     196
    204197       d_t_eva,d_q_eva,d_ql_eva,d_qi_eva, &
    205198       d_qx_eva, &
     
    208201       d_t_lscth,d_q_lscth, &
    209202       plul_st,plul_th, &
    210        !
     203
    211204       d_t_vdf,d_q_vdf, d_qbs_vdf, d_u_vdf,d_v_vdf,d_t_diss, &
    212205       d_t_vdf_x, d_t_vdf_w, &
    213206       d_q_vdf_x, d_q_vdf_w, &
    214207       d_ts, &
    215        !
     208
    216209       d_t_bsss,d_q_bsss,d_qbs_bsss, &
    217        !
     210
    218211!       d_t_oli,d_u_oli,d_v_oli, &
    219212       d_t_oro,d_u_oro,d_v_oro, &
     
    221214       d_t_lif,d_u_lif,d_v_lif, &
    222215       d_t_ec, &
    223        !
     216
    224217       du_gwd_hines,dv_gwd_hines,d_t_hin, &
    225218       dv_gwd_rando,dv_gwd_front, &
     
    234227       ZLWFT0_i,ZSWFT0_i,ZFLDN0,  &
    235228       ZFLUP0,ZFSDN0,ZFSUP0,      &
    236        !
     229
    237230       topswad_aero,solswad_aero,   &
    238231       topswai_aero,solswai_aero,   &
     
    253246       toplwai_aero_s2, sollwai_aero_s2,   &
    254247       toplwad0_aero_s2, sollwad0_aero_s2, &
    255        !
     248
    256249       topsw_aero,solsw_aero,       &
    257250       topsw0_aero,solsw0_aero,     &
     
    259252       tausum_aero,tau3d_aero,      &
    260253       drytausum_aero,              &
    261        !
     254
    262255       !variables CFMIP2/CMIP5
    263256       topswad_aerop, solswad_aerop,   &
     
    282275       toplwai_aero_s2, sollwai_aero_s2,   &
    283276       toplwad0_aero_s2, sollwad0_aero_s2, &
    284        !
     277
    285278       ptstar, pt0, slp, &
    286        !
     279
    287280       bils, &
    288        !
     281
    289282       cldh, cldl,cldm, cldq, cldt,      &
    290283       JrNt,                             &
     
    297290       zt2m_min_mon, zt2m_max_mon,   &         ! pour calcul_divers.h
    298291       t2m_min_mon, t2m_max_mon,  &            ! pour calcul_divers.h
    299        !
     292
    300293       s_pblh_x, s_pblh_w, &
    301294       s_lcl_x, s_lcl_w,   &
    302        !
     295
    303296       slab_wfbils, tpot, tpote,               &
    304297       ue, uq, ve, vq, zxffonte,               &
     
    309302       delta_qsurf,                            &
    310303       rain_lsc, rain_num,                     &
    311        !
     304
    312305       sens_x, sens_w, &
    313306       zxfluxlat_x, zxfluxlat_w, &
    314        !
     307
    315308       pbl_tke_input, pbl_eps, l_mix, wprime,&
    316309       t_therm, q_therm, u_therm, v_therm, &
     
    318311       cdragm_x, cdragm_w, &
    319312       kh, kh_x, kh_w, &
    320        !
     313
    321314       wake_k, &
    322315       alp_wake, &
     
    332325!!!       d_s_vdf, d_dens_a_vdf, d_dens_vdf, & ! due to vertical diffusion
    333326!!!       d_s_the, d_dens_a_the, d_dens_the, & ! due to thermals
    334        !                                 
     327
    335328       ptconv, ratqsc, &
    336329       wbeff, convoccur, zmax_th, &
     
    341334       proba_notrig, random_notrig,  &
    342335!!       cv_gen,  &  !moved to phys_state_var_mod
    343        !
     336
    344337       dnwd0,  &
    345338       omega,  &
     
    361354       epmlmMm, eplaMm, &
    362355       sij, &
    363        !
     356
    364357       rneblsvol, &
    365358       pfraclr, pfracld, cldfraliq, sigma2_icefracturb, mean_icefracturb,  &
     
    375368       zphi, zx_rh, zx_rhl, zx_rhi,  &
    376369       pmfd, pmfu,  &
    377        !
     370
    378371       t2m, fluxlat,  &
    379372       fsollw, evap_pot,  &
     
    381374       prfl, psfl,bsfl, fraca, Vprecip,  &
    382375       zw2,  &
    383        !
     376
    384377       fluxu, fluxv,  &
    385378       fluxt,  &
    386        !
     379
    387380       uwriteSTD, vwriteSTD, &                !pour calcul_STDlev.h
    388381       wwriteSTD, phiwriteSTD, &              !pour calcul_STDlev.h
    389382       qwriteSTD, twriteSTD, rhwriteSTD, &    !pour calcul_STDlev.h
    390        !
     383
    391384       beta_prec,  &
    392385       rneb,  &
     
    420413#endif
    421414#endif
    422        !
     415
    423416       USE phys_local_var_mod, ONLY: zfice, dNovrN, ptconv
    424417       USE phys_output_var_mod, ONLY: scdnc, cldncl, reffclwtop, lcc, reffclws, &
     
    529522    SAVE ok_journe
    530523    !$OMP THREADPRIVATE(ok_journe)
    531     !
     524
    532525    LOGICAL ok_mensuel ! sortir le fichier mensuel
    533526    SAVE ok_mensuel
    534527    !$OMP THREADPRIVATE(ok_mensuel)
    535     !
     528
    536529    LOGICAL ok_instan ! sortir le fichier instantane
    537530    SAVE ok_instan
    538531    !$OMP THREADPRIVATE(ok_instan)
    539     !
     532
    540533    LOGICAL ok_LES ! sortir le fichier LES
    541534    SAVE ok_LES                           
    542535    !$OMP THREADPRIVATE(ok_LES)                 
    543     !
     536
    544537    LOGICAL callstats ! sortir le fichier stats
    545538    SAVE callstats                           
    546539    !$OMP THREADPRIVATE(callstats)                 
    547     !
     540
    548541    LOGICAL ok_region ! sortir le fichier regional
    549542    PARAMETER (ok_region=.FALSE.)
     
    567560
    568561    !======================================================================
    569     !
     562
    570563    ! indices de traceurs eau vapeur, liquide, glace, fraction nuageuse LS (optional), blowing snow (optional)
    571564!    INTEGER,SAVE :: ivap, iliq, isol, irneb, ibs
     
    577570    INTEGER,SAVE :: irneb, ibs
    578571!$OMP THREADPRIVATE(irneb, ibs)
    579 !
    580     !
     572
     573
    581574    ! Variables argument:
    582     !
     575
    583576    INTEGER nlon
    584577    INTEGER nlev
     
    634627
    635628    ! variables a une pression donnee
    636     !
     629
    637630    include "declare_STDlev.h"
    638     !
    639     !
     631
     632
    640633    include "radepsi.h"
    641634    include "radopt.h"
    642     !
    643     !
     635
     636
    644637    INTEGER n
    645638    !ym      INTEGER npoints
    646639    !ym      PARAMETER(npoints=klon)
    647     !
     640
    648641    INTEGER nregISCtot
    649642    PARAMETER(nregISCtot=1)
    650     !
     643
    651644    ! imin_debut, nbpti, jmin_debut, nbptj : parametres pour sorties
    652645    ! sur 1 region rectangulaire y compris pour 1 point
     
    661654    PARAMETER(region='3d')
    662655    LOGICAL ok_hf
    663     !
     656
    664657    SAVE ok_hf
    665658    !$OMP THREADPRIVATE(ok_hf)
     
    668661    REAL, SAVE :: clesphy0(longcles)
    669662    !$OMP THREADPRIVATE(clesphy0)
    670     !
     663
    671664    ! Variables propres a la physique
    672665    INTEGER, SAVE :: itap         ! compteur pour la physique
     
    675668    INTEGER, SAVE :: abortphy=0   ! Reprere si on doit arreter en fin de phys
    676669    !$OMP THREADPRIVATE(abortphy)
    677     !
     670
    678671    REAL,SAVE ::  solarlong0
    679672    !$OMP THREADPRIVATE(solarlong0)
    680673
    681     !
    682674    !  Parametres de l'Orographie a l'Echelle Sous-Maille (OESM):
    683     !
     675
    684676    !IM 141004     REAL zulow(klon),zvlow(klon),zustr(klon), zvstr(klon)
    685677    REAL zulow(klon),zvlow(klon)
    686     !
     678
    687679    INTEGER igwd,idx(klon),itest(klon)
    688     !
     680
    689681    !      REAL,allocatable,save :: run_off_lic_0(:)
    690682    ! !$OMP THREADPRIVATE(run_off_lic_0)
     
    692684    !KE43
    693685    ! Variables liees a la convection de K. Emanuel (sb):
    694     !
     686
    695687    REAL, SAVE :: bas, top             ! cloud base and top levels
    696688    !$OMP THREADPRIVATE(bas, top)
    697689    !------------------------------------------------------------------
    698690    ! Upmost level reached by deep convection and related variable (jyg)
    699     !
     691
    700692!    INTEGER izero
    701693    INTEGER k_upper_cv
     
    705697    SAVE Ncvpaseq1
    706698    !$OMP THREADPRIVATE(Ncvpaseq1)
    707     !
     699
    708700    !==========================================================================
    709701    !CR04.12.07: on ajoute les nouvelles variables du nouveau schema
     
    713705!!    REAL mipsh(klon,klev)  ! mass flux shed by the adiab ascent at each level
    714706!!      Moved to phys_state_var_mod
    715     !
     707
    716708    REAL wape_prescr, fip_prescr
    717709    INTEGER it_wape_prescr
    718710    SAVE wape_prescr, fip_prescr, it_wape_prescr
    719711    !$OMP THREADPRIVATE(wape_prescr, fip_prescr, it_wape_prescr)
    720     !
     712
    721713    ! variables supplementaires de concvl
    722714    REAL Tconv(klon,klev)
     
    764756    REAL wake_dp_deltomg(klon,klev) ! Wake : gradient vertical de wake_omg
    765757    REAL wake_spread(klon,klev)     ! spreading term in wake_delt
    766     !
     758
    767759    !pourquoi y'a pas de save??
    768     !
     760
    769761!!!    INTEGER, SAVE, DIMENSION(klon)   :: wake_k
    770762!!!    !$OMP THREADPRIVATE(wake_k)
     
    773765    REAL xt_w(ntraciso,klon,klev)
    774766#endif
    775     !
     767
    776768    !jyg<
    777769    !cc      REAL wake_pe(klon)              ! Wake potential energy - WAPE
     
    781773    REAL wake_gfl(klon)             ! Gust Front Length
    782774!!!    REAL wake_dens(klon)         ! moved to phys_state_var_mod
    783     !
    784     !
     775
     776
    785777    REAL dt_dwn(klon,klev)
    786778    REAL dq_dwn(klon,klev)
     
    808800    REAL d_xt_adjwk(ntraciso,klon,klev)
    809801#endif
    810  
    811     !
     802
    812803    !RR:fin declarations poches froides
    813804    !==========================================================================
     
    858849
    859850    ! Variables locales pour la couche limite (al1):
    860     !
     851
    861852    !Al1      REAL pblh(klon)           ! Hauteur de couche limite
    862853    !Al1      SAVE pblh
    863854    !34EK
    864     !
     855
    865856    ! Variables locales:
    866     !
     857
    867858    !AA
    868859    !AA  Pour phytrac
     
    881872    !IM cf FH pour Tiedtke 080604
    882873    REAL rain_tiedtke(klon),snow_tiedtke(klon)
    883     !
     874
    884875    !IM 050204 END
    885876    REAL devap(klon) ! evaporation et sa derivee
     
    888879    REAL dxtevap(ntraciso,klon)
    889880#endif
    890     !
     881
    891882    ! Conditions aux limites
    892     !
    893     !
     883
     884
    894885    REAL :: day_since_equinox
    895886    ! Date de l'equinoxe de printemps
     
    899890    LOGICAL, parameter :: new_orbit = .TRUE.
    900891
    901     !
    902892    INTEGER lmt_pas
    903893    SAVE lmt_pas                ! frequence de mise a jour
     
    914904    !$OMP THREADPRIVATE(itapm1)
    915905    !======================================================================
    916     !
     906
    917907    ! Declaration des procedures appelees
    918     !
     908
    919909    EXTERNAL angle     ! calculer angle zenithal du soleil
    920910    EXTERNAL alboc     ! calculer l'albedo sur ocean
     
    937927    ! moyenne globale d'1 var ponderee par l'aire de la maille (moyglo_pondaire)
    938928    ! par la masse/airetot (moyglo_pondaima) et la vraie masse (moyglo_pondmass)
    939     !
    940     !
     929
     930
    941931    ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    942932    ! Local variables
    943933    ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    944     !
     934
    945935!    REAL rhcl(klon,klev)    ! humiditi relative ciel clair
    946936    REAL dialiq(klon,klev)  ! eau liquide nuageuse
    947937    REAL diafra(klon,klev)  ! fraction nuageuse
    948938    REAL radocond(klon,klev)  ! eau condensee nuageuse
    949     !
     939
    950940    !XXX PB
    951941    REAL fluxq(klon,klev, nbsrf)   ! flux turbulent d'humidite
    952942    REAL fluxqbs(klon,klev, nbsrf)   ! flux turbulent de neige soufflee
    953     !
     943
    954944    !FC    REAL zxfluxt(klon, klev)
    955945    !FC    REAL zxfluxq(klon, klev)
     
    967957    !ym      SAVE  sollwdownclr, toplwdown, toplwdownclr
    968958    !ym      SAVE  topsw0,toplw0,solsw0,sollw0, heat0, cool0
    969     !
     959
    970960    INTEGER itaprad
    971961    SAVE itaprad
    972962    !$OMP THREADPRIVATE(itaprad)
    973     !
     963
    974964    REAL conv_q(klon,klev) ! convergence de l'humidite (kg/kg/s)
    975965    REAL conv_t(klon,klev) ! convergence de la temperature(K/s)
    976     !
     966
    977967    REAL zsav_tsol(klon)
    978     !
     968
    979969    REAL dist, rmu0(klon), fract(klon)
    980970    REAL zrmu0(klon), zfract(klon)
    981971    REAL zdtime, zdtime1, zdtime2, zlongi
    982     !
     972
    983973    REAL qcheck
    984974    REAL z_avant(klon), z_apres(klon), z_factor(klon)
    985975    LOGICAL zx_ajustq
    986     !
     976
    987977    REAL za
    988978    REAL zx_t, zx_qs, zdelta, zcor
    989979    real zqsat(klon,klev)
    990     !
     980
    991981    INTEGER i, k, iq, nsrf, l, itr
    992982#ifdef ISO
     
    997987    real wake_deltaq_prec(klon,klev) 
    998988#endif
    999     !
     989
    1000990    REAL t_coup
    1001991    PARAMETER (t_coup=234.0)
     
    1004994    !ym      REAL zx_relief(iim,jjmp1)
    1005995    !ym      REAL zx_aire(iim,jjmp1)
    1006     !
     996
    1007997    ! Grandeurs de sorties
    1008998    REAL s_capCL(klon)
     
    10161006    !ym      SAVE 
    10171007    !ym      SAVE 
    1018     !
     1008
    10191009    INTEGER itapcv, itapwk
    10201010    SAVE itapcv, itapwk
     
    10391029    ! --
    10401030    !34EK
    1041     !
     1031
    10421032    ! Variables du changement
    1043     !
     1033
    10441034    ! con: convection
    10451035    ! lsc: condensation a grande echelle (Large-Scale-Condensation)
     
    10471037    ! eva: evaporation de l'eau liquide nuageuse
    10481038    ! vdf: couche limite (Vertical DiFfusion)
    1049     !
     1039
    10501040    ! tendance nulles
    10511041    REAL, dimension(klon,klev):: du0, dv0, dt0, dq0, dql0, dqi0, dqbs0
     
    10601050    REAL, DIMENSION(ntraciso,klon,klev)  :: d_xt_ch4_dtime
    10611051#endif
    1062     !
     1052
    10631053    ! Flag pour pouvoir ne pas ajouter les tendances.
    10641054    ! Par defaut, les tendances doivente etre ajoutees et
     
    10691059    INTEGER :: flag_inhib_tend = 0 !  0 is the default value
    10701060!!    INTEGER :: flag_inhib_tend = 2
    1071     !
     1061
    10721062    ! Logical switch to a bug : reseting to 0 convective variables at the
    10731063    ! begining of physiq.
    10741064    LOGICAL, SAVE :: ok_bug_cv_trac = .TRUE.
    10751065    !$OMP THREADPRIVATE(ok_bug_cv_trac)
    1076     !
     1066
    10771067    ! Logical switch to a bug : changing wake_deltat when thermals are active
    10781068    ! even when there are no wakes.
     
    10841074    LOGICAL, SAVE :: ok_bug_ajs_cv = .TRUE.
    10851075    !$OMP THREADPRIVATE(ok_bug_ajs_cv)
    1086     !
     1076
    10871077    !********************************************************
    10881078    !     declarations
     
    10901080    !********************************************************
    10911081    !IM 081204 END
    1092     !
     1082
    10931083    REAL pen_u(klon,klev), pen_d(klon,klev)
    10941084    REAL pde_u(klon,klev), pde_d(klon,klev)
    10951085    INTEGER kcbot(klon), kctop(klon), kdtop(klon)
    1096     !
     1086
    10971087    REAL ratqsbas,ratqshaut,tau_ratqs
    10981088    SAVE ratqsbas,ratqshaut,tau_ratqs
     
    11171107    REAL zrel_oro(klon)
    11181108    !IM cf. AM 081204 END
    1119     !
     1109
    11201110    ! Variables liees a l'ecriture de la bande histoire physique
    1121     !
     1111
    11221112    !======================================================================
    1123     !
    1124     !
     1113
     1114
    11251115!JLD    integer itau_w   ! pas de temps ecriture = itap + itau_phy
    1126     !
    1127     !
     1116
     1117
    11281118    ! Variables locales pour effectuer les appels en serie
    1129     !
     1119
    11301120    !IM RH a 2m (la surface)
    11311121    REAL Lheat
     
    11341124    PARAMETER    ( length = 100 )
    11351125    REAL tabcntr0( length       )
    1136     !
     1126
    11371127!JLD    INTEGER ndex2d(nbp_lon*nbp_lat)
    11381128    !IM
    1139     !
     1129
    11401130    !IM AMIP2 BEG
    11411131!JLD    REAL moyglo, mountor
     
    11581148    !ym      REAL zm_wo(jjmp1, klev)
    11591149    !IM AMIP2 END
    1160     !
     1150
    11611151    REAL zx_tmp_fi2d(klon)      ! variable temporaire grille physique
    11621152    REAL zx_tmp_fi3d(klon,klev) ! variable temporaire pour champs 3D
     
    11641154!JLD    REAL zx_lon(nbp_lon,nbp_lat)
    11651155!JLD    REAL zx_lat(nbp_lon,nbp_lat)
    1166     !
     1156
    11671157    INTEGER nid_ctesGCM
    11681158    SAVE nid_ctesGCM
    11691159    !$OMP THREADPRIVATE(nid_ctesGCM)
    1170     !
     1160
    11711161    !IM 280405 BEG
    11721162    !  INTEGER nid_bilKPins, nid_bilKPave
    11731163    !  SAVE nid_bilKPins, nid_bilKPave
    11741164    !  !$OMP THREADPRIVATE(nid_bilKPins, nid_bilKPave)
    1175     !
     1165
    11761166    REAL ve_lay(klon,klev) ! transport meri. de l'energie a chaque niveau vert.
    11771167    REAL vq_lay(klon,klev) ! transport meri. de l'eau a chaque niveau vert.
    11781168    REAL ue_lay(klon,klev) ! transport zonal de l'energie a chaque niveau vert.
    11791169    REAL uq_lay(klon,klev) ! transport zonal de l'eau a chaque niveau vert.
    1180     !
     1170
    11811171!JLD    REAL zjulian
    11821172!JLD    SAVE zjulian
     
    12401230    LOGICAL, SAVE :: flag_bc_internal_mixture
    12411231    !$OMP THREADPRIVATE(flag_bc_internal_mixture)
    1242     !
     1232
    12431233    !--STRAT AEROSOL
    12441234    INTEGER, SAVE :: flag_aerosol_strat
    12451235    !$OMP THREADPRIVATE(flag_aerosol_strat)
    1246     !
     1236
    12471237    !--INTERACTIVE AEROSOL FEEDBACK ON RADIATION
    12481238    LOGICAL, SAVE :: flag_aer_feedback
     
    12501240
    12511241    !c-fin STRAT AEROSOL
    1252     !
     1242
    12531243    ! Declaration des constantes et des fonctions thermodynamiques
    1254     !
     1244
    12551245    LOGICAL,SAVE :: first=.TRUE.
    12561246    !$OMP THREADPRIVATE(first)
     
    12841274    include "compbl.h"
    12851275    !IM 100106 END : pouvoir sortir les ctes de la physique
    1286     !
     1276
    12871277    ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    12881278    ! Declarations pour Simulateur COSP
     
    13441334    REAL, SAVE :: betalwoff
    13451335    !$OMP THREADPRIVATE(betalwoff)
    1346 !
     1336
    13471337    INTEGER :: nbtr_tmp ! Number of tracer inside concvl
    13481338    REAL, dimension(klon,klev) :: sh_in ! Specific humidity entering in phytrac
     
    14171407    !======================================================================
    14181408    ! Gestion calendrier : mise a jour du module phys_cal_mod
    1419     !
     1409
    14201410    pdtphys=pdtphys_
    14211411    CALL update_time(pdtphys)
     
    14751465       WRITE(lunout,*) '================================================='
    14761466       CALL phys_local_var_init
    1477        !
     1467
    14781468       !     appel a la lecture du run.def physique
    14791469       CALL conf_phys(ok_journe, ok_mensuel, &
     
    15101500
    15111501       print*, '================================================='
    1512        !
     1502
    15131503       !CR: check sur le nb de traceurs de l eau
    15141504       IF ((iflag_ice_thermo>0).and.(nqo==2)) THEN
     
    16291619       iflag_phytrac = 1 ! by default we do want to call phytrac
    16301620       CALL getin_p('iflag_phytrac',iflag_phytrac)
    1631 #ifdef CPP_Dust
     1621IF (CPPKEY_DUST) THEN
    16321622       IF (iflag_phytrac.EQ.0) THEN
    16331623         WRITE(lunout,*) 'In order to run with SPLA, iflag_phytrac will be forced to 1'
    16341624         iflag_phytrac = 1
    16351625       ENDIF
    1636 #endif
     1626END IF
    16371627       nvm_lmdz = 13
    16381628       CALL getin_p('NVM',nvm_lmdz)
     
    16721662    !======================================================================
    16731663    ! Gestion calendrier : mise a jour du module phys_cal_mod
    1674     !
     1664
    16751665    !     CALL phys_cal_update(jD_cur,jH_cur)
    16761666
    1677     !
    16781667    ! Si c'est le debut, il faut initialiser plusieurs choses
    16791668    !          ********
    1680     !
     1669
    16811670    IF (debut) THEN
    16821671       !rv CRinitialisation de wght_th et lalim_conv pour la
     
    17321721       clwcon(:,:) = 0.0
    17331722
    1734        !
    17351723       print*,'iflag_coupl,iflag_clos,iflag_wake', &
    17361724            iflag_coupl,iflag_clos,iflag_wake
    17371725       print*,'iflag_cycle_diurne', iflag_cycle_diurne
    1738        !
     1726
    17391727       IF (iflag_con==2.AND.iflag_cld_th>-1) THEN
    17401728          abort_message = 'Tiedtke needs iflag_cld_th=-2 or -1'
    17411729          CALL abort_physic (modname,abort_message,1)
    17421730       ENDIF
    1743        !
    1744        !
     1731
     1732
    17451733       ! Initialiser les compteurs:
    1746        !
     1734
    17471735       itap    = 0
    17481736       itaprad = 0
     
    18641852             ENDIF
    18651853
    1866              !
    18671854             ALLOCATE(tabCFMIP(nCFMIP))
    18681855             ALLOCATE(lonCFMIP(nCFMIP), latCFMIP(nCFMIP))
     
    18701857             ALLOCATE(lonGCM(nCFMIP), latGCM(nCFMIP))
    18711858             ALLOCATE(iGCM(nCFMIP), jGCM(nCFMIP))
    1872              !
     1859
    18731860             ! lecture des nCFMIP stations CFMIP, de leur numero
    18741861             ! et des coordonnees geographiques lonCFMIP, latCFMIP
    1875              !
     1862
    18761863             CALL read_CFMIP_point_locations(nCFMIP, tabCFMIP,  &
    18771864                  lonCFMIP, latCFMIP)
    1878              !
     1865
    18791866             ! identification des
    18801867             ! 1) coordonnees lonGCM, latGCM des points CFMIP dans la
     
    18831870             ! klon points
    18841871             ! 3) indices iGCM, jGCM de la grille physique 2d
    1885              !
     1872
    18861873             CALL LMDZ_CFMIP_point_locations(nCFMIP, lonCFMIP, latCFMIP, &
    18871874                  tabijGCM, lonGCM, latGCM, iGCM, jGCM)
    1888              !
     1875
    18891876          ELSE
    18901877             ALLOCATE(tabijGCM(0))
     
    19321919       date0 = jD_ref
    19331920       WRITE(*,*) 'physiq date0 : ',date0
    1934        !
    19351921
    19361922!       CALL create_climoz(read_climoz)
     
    19961982      ENDIF
    19971983
    1998        !
    1999        !
     1984
    20001985!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    20011986       ! Nouvelle initialisation pour le rayonnement RRTM
     
    20382023!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    20392024
    2040        !
    20412025!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    20422026       ! Initialisation des champs dans phytrac* qui sont utilises par phys_output_write*
    2043        !
     2027
    20442028!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    20452029
    2046 #ifdef CPP_Dust
     2030IF (CPPKEY_DUST) THEN
    20472031       ! Quand on utilise SPLA, on force iflag_phytrac=1
    20482032       CALL phytracr_spl_out_init()
     
    20532037                                ptconvth, d_t, qx, d_qx, d_tr_dyn, zmasse,      &
    20542038                                flag_aerosol, flag_aerosol_strat, ok_cdnc)
    2055 #else
     2039ELSE
    20562040       ! phys_output_write écrit des variables traceurs seulement si iflag_phytrac == 1
    20572041       ! donc seulement dans ce cas on doit appeler phytrac_init()
     
    20652049                              ptconvth, d_u, d_t, qx, d_qx, zmasse,           &
    20662050                              flag_aerosol, flag_aerosol_strat, ok_cdnc, t, u1, v1)
    2067 #endif
     2051END IF
    20682052
    20692053
     
    21062090
    21072091       ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    2108        !
     2092
    21092093       ! on remet le calendrier a zero
    2110        !
     2094
    21112095       IF (raz_date == 1) THEN
    21122096          itau_phy = 0
     
    21322116          CALL abort_physic(modname,abort_message,1)
    21332117       ENDIF
    2134        !
     2118
    21352119       IF (phys_tstep*REAL(radpas)>21600..AND.iflag_cycle_diurne>=1) THEN
    21362120          WRITE(lunout,*)'Nbre d appels au rayonnement insuffisant'
     
    21422126!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    21432127       ! Initialisation pour la convection de K.E. et pour les poches froides
    2144        !
     2128
    21452129!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    21462130
    21472131       WRITE(lunout,*)"Clef pour la convection, iflag_con=", iflag_con
    21482132       WRITE(lunout,*)"Clef pour le driver de la convection, ok_cvl=", ok_cvl
    2149        !
     2133
    21502134       !KE43
    21512135       ! Initialisation pour la convection de K.E. (sb):
     
    21782162             ! 11/09/06 rajout initialisation ALE et ALP du wake et PBL(YU)
    21792163             !        print*,'apres ini_wake iflag_cld_th=', iflag_cld_th
    2180              !
     2164
    21812165             ! Initialize tendencies of wake state variables (for some flag values
    21822166             ! they are not computed).
     
    22112195       !   ALLOCATE(iGCM(0), jGCM(0))
    22122196       ENDIF  !  (iflag_con.GE.3)
    2213        !
     2197
    22142198       DO i=1,klon
    22152199          rugoro(i) = f_rugoro * MAX(1.0e-05, zstd(i)*zsig(i)/2.0)
     
    22432227          ENDDO
    22442228       ENDIF
    2245        !
    2246        !
     2229
     2230
    22472231       lmt_pas = NINT(86400./phys_tstep * 1.0)   ! tous les jours
    22482232       WRITE(lunout,*)'La frequence de lecture surface est de ',  &
    22492233            lmt_pas
    2250        !
     2234
    22512235       capemaxcels = 't_max(X)'
    22522236       t2mincels = 't_min(X)'
     
    22572241       write(lunout,*)'AVANT HIST IFLAG_CON=',iflag_con
    22582242       !IM cf. AM 081204 END
    2259        !
     2243
    22602244       !=============================================================
    22612245       !   Initialisation des sorties
     
    22742258         IF (is_omp_master) CALL xios_get_field_attr("temp",default_value=missing_val)
    22752259         CALL bcast_omp(missing_val)
    2276        !
     2260
    22772261       ! Now we activate some double radiation call flags only if some
    22782262       ! diagnostics are requested, otherwise there is no point in doing this
     
    22992283             IF (xios_field_is_active("dryod550_"//name_aero_tau(naero))) dryaod_diag=.TRUE.
    23002284           ENDDO
    2301            !
     2285
    23022286          !--setting up ok_4xCO2atm to TRUE in XIOS case
    23032287           IF (xios_field_is_active("rsut4co2").OR.xios_field_is_active("rlut4co2").OR. &
     
    23152299           CALL bcast(ok_4xCO2atm)
    23162300         ENDIF !using_xios
    2317        !
     2301
    23182302       CALL printflag( tabcntr0,radpas,ok_journe, &
    23192303            ok_instan, ok_region )
    2320        !
    2321        !
     2304
     2305
    23222306       ! Prescrire l'ozone dans l'atmosphere
    2323        !
     2307
    23242308       !c         DO i = 1, klon
    23252309       !c         DO k = 1, klev
     
    23272311       !c         ENDDO
    23282312       !c         ENDDO
    2329        !
     2313
    23302314       IF (ANY(type_trac == ['inca','inco'])) THEN ! ModThL
    23312315IF (CPPKEY_INCA) THEN
     
    24022386          piz_aero(:,:,:,:) = init_pizinca
    24032387          cg_aero(:,:,:,:) = init_cginca
    2404 !         
    2405 
    24062388
    24072389          CALL VTe(VTinca)
     
    24092391END IF
    24102392       ENDIF
    2411        !
     2393
    24122394       IF (type_trac == 'repr') THEN
    24132395#ifdef REPROBUS
     
    24292411           press_edg_climoz, time_climoz, ok_daily_climoz, adjust_tropopause)
    24302412       !$omp end single
    2431        !
     2413
    24322414       !IM betaCRF
    24332415       pfree=70000. !Pa
     
    24892471      ENDIF
    24902472      WRITE(*,*)'ok_lwoff=',ok_lwoff
    2491       !
     2473
    24922474      !lwoff=y to begin only sollw and sollwdown are set up to CS values
    24932475      sollw = sollw + betalwoff * (sollw0 - sollw)
     
    24982480
    24992481    ENDIF
    2500     !
     2482
    25012483    !   ****************     Fin  de   IF ( debut  )   ***************
    2502     !
    2503     !
     2484
     2485
    25042486    ! Incrementer le compteur de la physique
    2505     !
     2487
    25062488    itap   = itap + 1
    25072489    IF (is_master .OR. prt_level > 9) THEN
     
    25122494      ENDIF
    25132495    ENDIF
    2514     !
    2515     !
     2496
     2497
    25162498    ! Update fraction of the sub-surfaces (pctsrf) and
    25172499    ! initialize, where a new fraction has appeared, all variables depending
    25182500    ! on the surface fraction.
    2519     !
     2501
    25202502    CALL change_srf_frac(itap, phys_tstep, days_elapsed+1,  &
    25212503         pctsrf, fevap, z0m, z0h, agesno,              &
     
    25522534    ddens0(:) = 0.
    25532535    wkoccur1(:)=1
    2554     !
     2536
    25552537    ! Mettre a zero des variables de sortie (pour securite)
    2556     !
     2538
    25572539    DO i = 1, klon
    25582540       d_ps(i) = 0.0
     
    25742556    beta_prec_fisrt(:,:)=0.
    25752557    beta_prec(:,:)=0.
    2576     !
     2558
    25772559    !   Output variables from the convective scheme should not be set to 0
    25782560    !   since convection is not always called at every time step.
     
    25912573      ! RomP <<<
    25922574    ENDIF
    2593     !
     2575
    25942576    ! Ne pas affecter les valeurs entrees de u, v, h, et q
    2595     !
     2577
    25962578    DO k = 1, klev
    25972579       DO i = 1, klon
     
    26552637#endif
    26562638! #ifdef ISO
    2657     !
     2639
    26582640    !--OB mass fixer
    26592641    IF (mass_fixer) THEN
     
    27032685       tr_seri(:,:,strIdx(tracers(:)%name,addPhase('H2O','g'))) = 0.0
    27042686    ENDIF
    2705 !
     2687
    27062688! Temporary solutions adressing ticket #104 and the non initialisation of tr_ancien
    27072689! LF
     
    27152697       enddo
    27162698    ENDIF
    2717     !
     2699
    27182700    DO i = 1, klon
    27192701       ztsol(i) = 0.
     
    27732755#endif
    27742756#endif
    2775     !
     2757
    27762758    IF (ancien_ok) THEN
    2777     !
     2759
    27782760       d_u_dyn(:,:)  = (u_seri(:,:)-u_ancien(:,:))/phys_tstep
    27792761       d_v_dyn(:,:)  = (v_seri(:,:)-v_ancien(:,:))/phys_tstep
     
    29102892#endif
    29112893    ENDIF
    2912     !
     2894
    29132895    ! Ajouter le geopotentiel du sol:
    2914     !
     2896
    29152897    DO k = 1, klev
    29162898       DO i = 1, klon
     
    29182900       ENDDO
    29192901    ENDDO
    2920     !
     2902
    29212903    ! Verifier les temperatures
    2922     !
     2904
    29232905    !IM BEG
    29242906    IF (check) THEN
     
    29292911          amx=MAX(ftsol(i,is_ter),amx)
    29302912       ENDDO
    2931        !
     2913
    29322914       PRINT*,' debut avant hgardfou min max ftsol',itap,amn,amx
    29332915    ENDIF !(check) THEN
    29342916    !IM END
    2935     !
     2917
    29362918    CALL hgardfou(t_seri,ftsol,'debutphy',abortphy)
    29372919    IF (abortphy==1) Print*,'ERROR ABORT hgardfou debutphy'
    29382920
    2939     !
    29402921    !IM BEG
    29412922    IF (check) THEN
     
    29462927          amx=MAX(ftsol(i,is_ter),amx)
    29472928       ENDDO
    2948        !
     2929
    29492930       PRINT*,' debut apres hgardfou min max ftsol',itap,amn,amx
    29502931    ENDIF !(check) THEN
    29512932    !IM END
    2952     !
     2933
    29532934    ! Mettre en action les conditions aux limites (albedo, sst, etc.).
    29542935    ! Prescrire l'ozone et calculer l'albedo sur l'ocean.
    2955     !
     2936
    29562937    ! Update ozone if day change
    29572938    IF (MOD(itap-1,lmt_pas) == 0) THEN
     
    29832964             B=Z2-fac*alog(pplay(i,itroprep(i)))
    29842965             ttrop(i)= fac*alog(ptrop(i))+B
    2985 !
     2966
    29862967             Z1= 1.e-3 * ( pphi(i,itroprep(i)+1)+pphis(i) ) / gravit
    29872968             Z2= 1.e-3 * ( pphi(i,itroprep(i))  +pphis(i) ) / gravit
     
    30293010#endif
    30303011#endif
    3031     !
     3012
    30323013    ! Re-evaporer l'eau liquide nuageuse
    3033     !
     3014
    30343015     CALL reevap (klon,klev,iflag_ice_thermo,t_seri,qx_seri, &
    30353016             d_t_eva,d_qx_eva)
     
    30993080    CALL ymds2ju(year_cur, mth_eq, day_eq,0., jD_eq)
    31003081    day_since_equinox = (jD_cur + jH_cur) - jD_eq
    3101     !
     3082
    31023083    !   choix entre calcul de la longitude solaire vraie ou valeur fixee a
    31033084    !   solarlong0
     
    31653146          CALL zenang(zlongi,jH_cur,zdtime1,zdtime2, &
    31663147               latitude_deg,longitude_deg,rmu0,fract)
    3167           !
     3148
    31683149          ! Calcul des poids
    3169           !
     3150
    31703151          zdtime1=-phys_tstep !--on corrige le rayonnement pour representer le
    31713152          zdtime2=0.0    !--pas de temps de la physique qui se termine
     
    31933174    ! Cela implique tous les interactions des sous-surfaces et la
    31943175    ! partie diffusion turbulent du couche limit.
    3195     !
     3176
    31963177    ! Certains varibales de sorties de pbl_surface sont utiliser que pour
    31973178    ! ecriture des fihiers hist_XXXX.nc, ces sont :
     
    32053186    !   d_ts,      fevap,     fluxlat, t2m,
    32063187    !   wfbils,    fluxt,   fluxu, fluxv,
    3207     !
     3188
    32083189    ! Certains ne sont pas utiliser du tout :
    32093190    !   dsens, devap, zxsnow, zxfluxt, zxfluxq, q2m, fluxq
    3210     !
    32113191
    32123192    ! Calcul de l'humidite de saturation au niveau du sol
     
    32483228       ! !!
    32493229       !>jyg+nrlmd
    3250        !
     3230
    32513231       !-------gustiness calculation-------!
    32523232       !ym : Warning gustiness non inialized for iflag_gusts=2 & iflag_gusts=3
     
    34153395#endif
    34163396!#ifdef ISO
    3417        !
     3397
    34183398       !  Add turbulent diffusion tendency to the wake difference variables
    34193399!!jyg       IF (mod(iflag_pbl_split,2) .NE. 0) THEN
     
    35603540       write(lunout,'(i4,f15.4)') (k,1000.*zqsat(igout,k),k=1,klev)
    35613541    ENDIF
    3562     !
     3542
    35633543    ! Appeler la convection (au choix)
    3564     !
     3544
    35653545    DO k = 1, klev
    35663546       DO i = 1, klon
     
    35983578    IF (prt_level>=1) write(lunout,*) 'omega(igout, :) = ', &
    35993579         omega(igout, :)
    3600     !
     3580
    36013581    ! Appel de la convection tous les "cvpas"
    3602     !
     3582
    36033583!!jyg    IF (MOD(itapcv,cvpas).EQ.0) THEN
    36043584!!    print *,' physiq : itapcv, cvpas, itap-1, cvpas_0 ', &
     
    36063586    IF (MOD(itapcv,cvpas)==0 .OR. MOD(itap-1,cvpas_0)==0) THEN
    36073587
    3608     !
    36093588    ! Mettre a zero des variables de sortie (pour securite)
    3610     !
     3589
    36113590    pmflxr(:,:) = 0.
    36123591    pmflxs(:,:) = 0.
     
    36363615    xtwdtrainA(:,:,:) = 0.
    36373616#endif
    3638     !
     3617
    36393618    IF (iflag_con==1) THEN
    36403619       abort_message ='reactiver le call conlmd dans physiq.F'
     
    37833762        endif ! if (iso_eau.gt.0) then
    37843763#endif
    3785        !
     3764
    37863765       !jyg<
    37873766       ! Perform dry adiabatic adjustment on wake profile
     
    37973776#endif         
    37983777         )
    3799              !
     3778
    38003779             DO k=1,klev
    38013780                DO i=1,klon
     
    38333812       ENDIF ! (iflag_wake>=1)
    38343813       !>jyg
    3835        !
    3836        
     3814
    38373815!!      print *,'physiq. q_w(1,k), q_x(1,k) ', &
    38383816!!             (k, q_w(1,k), q_x(1,k),k=1,25)
     
    38463824                    Ale, Alp , Ale_wake, Alp_wake)
    38473825!>jyg
    3848 !
     3826
    38493827       ! sb, oct02:
    38503828       ! Schema de convection modularise et vectorise:
    38513829       ! (driver commun aux versions 3 et 4)
    3852        !
     3830
    38533831       IF (ok_cvl) THEN ! new driver for convectL
    3854           !
    3855        
     3832
    38563833#ifdef ISO
    38573834#ifdef ISOVERIF
     
    39553932                  k_upper_cv
    39563933          ENDIF
    3957           !
     3934
    39583935          !>jyg
    39593936          IF (type_trac == 'repr') THEN
     
    40344011          pmfu(:,:)=upwd(:,:)+dnwd(:,:)
    40354012          fm_cv(:,:)=upwd(:,:)+dnwd(:,:)+dnwd0(:,:)
    4036           !
     4013
    40374014          !jyg<
    40384015          ! If convective tendencies are too large, then call convection
     
    40484025             ENDDO
    40494026          ENDDO
    4050 !
     4027
    40514028          DO k=1,k_upper_cv
    40524029             DO i=1,klon
     
    40654042!!!   ------------------------------------------------------------
    40664043          !>jyg
    4067           !
     4044
    40684045          DO i = 1, klon
    40694046             IF (iflagctrl(i)<=1) itau_con(i)=itau_con(i)+cvpas
    40704047          ENDDO
    4071           !
     4048
    40724049          !jyg<
    40734050          !    Add the tendency due to the dry adjustment of the wake profile
     
    40914068          ENDIF   ! (iflag_wake>=1)
    40924069          !>jyg
    4093           !
     4070
    40944071       ELSE ! ok_cvl
    40954072
     
    41094086       ENDIF ! ok_cvl
    41104087
    4111        !
    41124088       ! Correction precip
    41134089       rain_con = rain_con * cvl_corr
     
    41174093          xtsnow_con = xtsnow_con * cvl_corr
    41184094#endif
    4119        !
    41204095
    41214096       IF (.NOT. ok_gust) THEN
     
    41274102       ! =================================================================== c
    41284103       ! Calcul des proprietes des nuages convectifs
    4129        !
    41304104
    41314105       !   calcul des proprietes des nuages convectifs
     
    42034177    itapcv = 0
    42044178    ENDIF !  (MOD(itapcv,cvpas).EQ.0 .OR. MOD(itapcv,cvpas_0).EQ.0)
    4205 !
     4179
    42064180    itapcv = itapcv+1
    4207     !
     4181
    42084182    ! Compter les steps ou cvpas=1
    42094183    IF (cvpas == 1) THEN
     
    43354309#endif
    43364310
    4337     !
    43384311    !==========================================================================
    43394312    !RR:Evolution de la poche froide: on ne fait pas de separation wake/env
    43404313    !pour la couche limite diffuse pour l instant
    4341     !
    4342     !
     4314
     4315
    43434316    ! nrlmd le 22/03/2011---Si on met les poches hors des thermiques
    43444317    ! il faut rajouter cette tendance calcul\'ee hors des poches
    43454318    ! froides
    4346     !
     4319
    43474320    IF (iflag_wake>=1) THEN
    4348        !
    4349        !
     4321
     4322
    43504323       ! Call wakes every "wkpas" step
    4351        !
     4324
    43524325       IF (MOD(itapwk,wkpas)==0) THEN
    4353           !
     4326
    43544327          DO k=1,klev
    43554328             DO i=1,klon
     
    44194392        enddo       
    44204393#endif
    4421           !
     4394
    44224395          !calcul caracteristiques de la poche froide
    44234396          CALL calWAKE (iflag_wake_tend, paprs, pplay, phys_tstep, &
     
    44424415#endif     
    44434416         )
    4444           !
     4417
    44454418          !jyg    Reinitialize itapwk when wakes have been called
    44464419          itapwk = 0
    44474420       ENDIF !  (MOD(itapwk,wkpas).EQ.0)
    4448        !
     4421
    44494422       itapwk = itapwk+1
    44504423#ifdef ISOVERIF
     
    44604433        enddo
    44614434#endif
    4462        !
     4435
    44634436       !-----------------------------------------------------------------------
    44644437       ! ajout des tendances des poches froides
     
    44844457          CALL prt_enerbil('wake',itap)
    44854458       ENDIF   ! (iflag_wake_tend .GT. 0.)
    4486        !
     4459
    44874460       IF (prt_level >= 10) THEN
    44884461         print *,' physiq, after calwake, wake_s: ',wake_s(:)
     
    45004473
    45014474    ENDIF  ! (iflag_wake>=1)
    4502     !
     4475
    45034476    !===================================================================
    45044477    ! Convection seche (thermiques ou ajustement)
    45054478    !===================================================================
    4506     !
     4479
    45074480    CALL stratocu_if(klon,klev,pctsrf,paprs, pplay,t_seri &
    45084481         ,seuil_inversion,weak_inversion,dthmin)
     
    45214494      d_xt_ajsb(:,:,:)=0.0
    45224495#endif
    4523     !
     4496
    45244497    !      fm_therm(:,:)=0.
    45254498    !      entr_therm(:,:)=0.
    45264499    !      detr_therm(:,:)=0.
    4527     !
     4500
    45284501    IF (prt_level>9) WRITE(lunout,*) &
    45294502         'AVANT LA CONVECTION SECHE , iflag_thermals=' &
     
    47574730#endif         
    47584731         )
    4759           !
     4732
    47604733          !jyg<
    47614734!!jyg          IF (mod(iflag_pbl_split/2,2) .EQ. 1) THEN
     
    47664739             DO k=1,klev
    47674740                DO i=1,klon
    4768                    !
     4741
    47694742                   d_deltat_the(i,k) = - d_t_ajs(i,k)
    47704743                   d_deltaq_the(i,k) = - d_q_ajs(i,k)
    4771                    !
     4744
    47724745                   d_u_ajs(i,k) = d_u_ajs(i,k)*(1.-wake_s(i))
    47734746                   d_v_ajs(i,k) = d_v_ajs(i,k)*(1.-wake_s(i))
     
    47804753                   enddo
    47814754#endif
    4782                    !
     4755
    47834756                ENDDO
    47844757             ENDDO
    4785           !
     4758
    47864759             IF (ok_bug_split_th) THEN
    47874760               CALL add_wake_tend &
     
    48004773             ENDIF
    48014774             CALL prt_enerbil('the',itap)
    4802           !
     4775
    48034776          ENDIF  ! (mod(iflag_pbl_split/10,10) .GE. 1)
    4804           !
     4777
    48054778          CALL add_phys_tend(d_u_ajs,d_v_ajs,d_t_ajs,d_q_ajs,  &
    48064779                             dql0,dqi0,dqbs0,paprs,'thermals', abortphy,flag_inhib_tend,itap,0 &
     
    48104783         )
    48114784          CALL prt_enerbil('thermals',itap)
    4812           !
    4813 !
     4785
     4786
    48144787          CALL alpale_th( phys_tstep, lmax_th, t_seri, cell_area,  &
    48154788                          cin, s2, n2, strig, &
     
    49374910
    49384911    ENDIF
    4939     !
     4912
    49404913    !===================================================================
    49414914    ! Computation of ratqs, the width (normalized) of the subrid scale
     
    49644937         ratqs,ratqsc,ratqs_inter_)
    49654938
    4966     !
    49674939    ! Appeler le processus de condensation a grande echelle
    49684940    ! et le processus de precipitation
     
    49714943       print *,'itap, ->fisrtilp ',itap
    49724944    ENDIF
    4973     !
     4945
    49744946#ifdef ISO   
    49754947#ifdef ISOVERIF
     
    50965068         )
    50975069    ENDIF
    5098     !
     5070
    50995071    WHERE (rain_lsc < 0) rain_lsc = 0.
    51005072    WHERE (snow_lsc < 0) snow_lsc = 0.
     
    53255297    ENDIF
    53265298
    5327     !
    53285299    !-------------------------------------------------------------------
    53295300    !  PRESCRIPTION DES NUAGES POUR LE RAYONNEMENT
     
    53315302
    53325303    ! 1. NUAGES CONVECTIFS
    5333     !
     5304
    53345305    !IM cf FH
    53355306    !     IF (iflag_cld_th.eq.-1) THEN ! seulement pour Tiedtke
     
    53535324          ENDDO
    53545325       ENDIF
    5355        !
     5326
    53565327       !     call dump2d(iim,jjm,rain_tiedtke(2:klon-1),'PSEUDO PRECIP ')
    5357        !
    53585328
    53595329       ! Nuages diagnostiques pour Tiedtke
     
    54565426    !        enddo prfl, psfl,
    54575427    !     enddo
    5458     !
     5428
    54595429    ! 2. NUAGES STARTIFORMES
    5460     !
     5430
    54615431    IF (ok_stratus) THEN
    54625432       CALL diagcld2(paprs,pplay,t_seri,q_seri, diafra,dialiq)
     
    54705440       ENDDO
    54715441    ENDIF
    5472     !
     5442
    54735443    ! Precipitation totale
    5474     !
     5444
    54755445    DO i = 1, klon
    54765446       rain_fall(i) = rain_con(i) + rain_lsc(i)
     
    55435513        endif
    55445514#endif   
    5545     !
     5515
    55465516    ! Calculer l'humidite relative pour diagnostique
    5547     !
     5517
    55485518    DO k = 1, klev
    55495519       DO i = 1, klon
     
    55785548    !IM Calcul temp.potentielle a 2m (tpot) et temp. potentielle
    55795549    !   equivalente a 2m (tpote) pour diagnostique
    5580     !
     5550
    55815551    DO i = 1, klon
    55825552       tpot(i)=zt2m(i)*(100000./paprs(i,1))**RKAPPA
     
    56615631    ENDIF
    56625632
    5663     !
    56645633    ! Appeler le rayonnement mais calculer tout d'abord l'albedo du sol.
    5665     !
     5634
    56665635    IF (MOD(itaprad,radpas)==0) THEN
    56675636
    5668        !
    56695637       !jq - introduce the aerosol direct and first indirect radiative forcings
    56705638       !jq - Johannes Quaas, 27/11/2003 (quaas@lmd.jussieu.fr)
     
    56725640          IF (iflag_rrtm == 0) THEN !--old radiation
    56735641             IF (.NOT. aerosol_couple) THEN
    5674                 !
     5642
    56755643                CALL readaerosol_optic( &
    56765644                     debut, flag_aerosol, itap, jD_cur-jD_ref, &
     
    56855653                CALL abort_physic(modname,abort_message,1)
    56865654             ELSE
    5687                 !
     5655
    56885656#ifdef CPP_RRTM
    56895657                IF (NSW.EQ.6) THEN
    56905658                   !--new aerosol properties SW and LW
    5691                    !
    5692 #ifdef CPP_Dust
     5659
     5660IF (CPPKEY_DUST) THEN
    56935661                   !--SPL aerosol model
    56945662                   CALL splaerosol_optic_rrtm( ok_alw, pplay, paprs, t_seri, rhcl, &
     
    56965664                        tau_aero_sw_rrtm, piz_aero_sw_rrtm, cg_aero_sw_rrtm,  &
    56975665                        tausum_aero, tau3d_aero)
    5698 #else
     5666ELSE
    56995667                   !--climatologies or INCA aerosols
    57005668                   CALL readaerosol_optic_rrtm( debut, aerosol_couple, ok_alw, ok_volcan, &
     
    57045672                        tau_aero_sw_rrtm, piz_aero_sw_rrtm, cg_aero_sw_rrtm,  &
    57055673                        tausum_aero, drytausum_aero, tau3d_aero)
    5706 #endif
     5674END IF
    57075675
    57085676                   IF (flag_aerosol .EQ. 7) THEN
     
    57115679                   ENDIF
    57125680
    5713                    !
    57145681                ELSE IF (NSW.EQ.2) THEN
    57155682                   !--for now we use the old aerosol properties
    5716                    !
     5683
    57175684                   CALL readaerosol_optic( &
    57185685                        debut, flag_aerosol, itap, jD_cur-jD_ref, &
     
    57215688                        tau_aero, piz_aero, cg_aero,  &
    57225689                        tausum_aero, tau3d_aero)
    5723                    !
     5690
    57245691                   !--natural aerosols
    57255692                   tau_aero_sw_rrtm(:,:,1,:)=tau_aero(:,:,3,:)
     
    57305697                   piz_aero_sw_rrtm(:,:,2,:)=piz_aero(:,:,2,:)
    57315698                   cg_aero_sw_rrtm (:,:,2,:)=cg_aero (:,:,2,:)
    5732                    !
     5699
    57335700                   !--no LW optics
    57345701                   tau_aero_lw_rrtm(:,:,:,:) = 1.e-15
    5735                    !
     5702
    57365703                ELSE
    57375704                   abort_message='Only NSW=2 or 6 are possible with ' &
     
    57445711                CALL abort_physic(modname,abort_message,1)
    57455712#endif
    5746                 !
     5713
    57475714             ENDIF
    57485715          ELSE IF (iflag_rrtm ==2) THEN    ! ecrad RADIATION
     
    57745741          ENDIF
    57755742       ENDIF
    5776        !
     5743
    57775744       !--WMO criterion to determine tropopause
    57785745       CALL stratosphere_mask(missing_val, pphis, t_seri, pplay, latitude_deg)
    5779        !
     5746
    57805747       !--STRAT AEROSOL
    57815748       !--updates tausum_aero,tau_aero,piz_aero,cg_aero
     
    58145781          tausum_aero(:,:,id_STRAT_phy) = 0.
    58155782       ENDIF
    5816 !
     5783
    58175784#ifdef CPP_RRTM
    58185785IF (CPPKEY_STRATER) THEN
     
    58245791#endif
    58255792       !--fin STRAT AEROSOL
    5826        !     
    58275793
    58285794       ! Calculer les parametres optiques des nuages et quelques
    58295795       ! parametres pour diagnostiques:
    5830        !
     5796
    58315797       IF (aerosol_couple.AND.config_inca=='aero') THEN
    58325798          mass_solu_aero(:,:)    = ccm(:,:,1)
     
    58455811               zfice, dNovrN, ptconv, rnebcon, clwcon)
    58465812
    5847        !
    58485813       !IM betaCRF
    5849        !
     5814
    58505815       cldtaurad   = cldtau
    58515816       cldtaupirad = cldtaupi
     
    58535818       cldfrarad   = cldfra
    58545819
    5855        !
    58565820       IF (lon1_beta==-180..AND.lon2_beta==180..AND. &
    58575821           lat1_beta==90..AND.lat2_beta==-90.) THEN
    5858           !
     5822
    58595823          ! global
    5860           !
     5824
    58615825!IM 251017 begin
    58625826!               print*,'physiq betaCRF global zdtime=',zdtime
     
    58785842             ENDDO
    58795843          ENDDO
    5880           !
     5844
    58815845       ELSE
    5882           !
     5846
    58835847          ! regional
    5884           !
     5848
    58855849          DO k=1, klev
    58865850             DO i=1,klon
    5887                 !
     5851
    58885852                IF (longitude_deg(i)>=lon1_beta.AND. &
    58895853                    longitude_deg(i)<=lon2_beta.AND. &
     
    59035867                   cldfrarad(i,k)   = cldfra(i,k) * beta(i,k)
    59045868                ENDIF
    5905              !
     5869
    59065870             ENDDO
    59075871          ENDDO
    5908        !
     5872
    59095873       ENDIF
    59105874
     
    59325896       ENDIF
    59335897
    5934        !
    59355898       !sonia : If Iflag_radia >=2, pertubation of some variables
    59365899       !input to radiation (DICE)
    5937        !
     5900
    59385901       IF (iflag_radia >= 2) THEN
    59395902          zsav_tsol (:) = zxtsol(:)
     
    59645927END IF
    59655928       ELSE
    5966           !
     5929
    59675930          !IM calcul radiatif pour le cas actuel
    5968           !
     5931
    59695932          RCO2 = RCO2_act
    59705933          RCH4 = RCH4_act
     
    59725935          RCFC11 = RCFC11_act
    59735936          RCFC12 = RCFC12_act
    5974           !
     5937
    59755938          !--interactive CO2 in ppm from carbon cycle
    59765939          IF (carbon_cycle_rad) RCO2=RCO2_glo
    5977           !
     5940
    59785941          IF (prt_level >=10) THEN
    59795942             print *,' ->radlwsw, number 1 '
    59805943          ENDIF
    5981           !
     5944
    59825945          ! AI namelist utilise pour l appel principal de radlwsw (ecrad)
    59835946          namelist_ecrad_file='namelist_ecrad'
    5984           !
     5947
    59855948          CALL radlwsw &
    59865949               (debut, dist, rmu0, fract,  &
     
    60355998 
    60365999          IF (.NOT. using_xios) THEN
    6037             !
     6000
    60386001            !IM 2eme calcul radiatif pour le cas perturbe ou au moins un
    60396002            !IM des taux doit etre different du taux actuel
    60406003            !IM Par defaut on a les taux perturbes egaux aux taux actuels
    6041             !
     6004
    60426005            IF (RCO2_per/=RCO2_act.OR. &
    60436006                RCH4_per/=RCH4_act.OR. &
     
    60466009                RCFC12_per/=RCFC12_act) ok_4xCO2atm =.TRUE.
    60476010          ENDIF
    6048    !
     6011
    60496012          IF (ok_4xCO2atm) THEN
    6050                 !
     6013
    60516014                RCO2 = RCO2_per
    60526015                RCH4 = RCH4_per
     
    60546017                RCFC11 = RCFC11_per
    60556018                RCFC12 = RCFC12_per
    6056                 !
     6019
    60576020                IF (prt_level >=10) THEN
    60586021                   print *,' ->radlwsw, number 2 '
    60596022                ENDIF
    6060                 !
     6023
    60616024                ! AI namelist utilise pour l appel principal de radlwsw (ecrad)
    60626025                namelist_ecrad_file='namelist_ecrad'
    6063                 !
     6026
    60646027                CALL radlwsw &
    60656028                     (debut, dist, rmu0, fract,  &
     
    61536116       ENDIF ! aerosol_couple
    61546117       itaprad = 0
    6155        !
     6118
    61566119       !  If Iflag_radia >=2, reset pertubed variables
    6157        !
     6120
    61586121       IF (iflag_radia >= 2) THEN
    61596122          zxtsol(:) = zsav_tsol (:)
     
    61826145    ENDIF
    61836146
    6184     !
    61856147    ! Calculer radsol a l'exterieur de radlwsw
    61866148    ! pour prendre en compte le cycle diurne
    61876149    ! recode par Olivier Boucher en sept 2015
    6188     !
     6150
    61896151    radsol=solsw*swradcorr+sollw
    61906152
     
    61936155    ENDIF
    61946156
    6195     !
    61966157    ! Ajouter la tendance des rayonnements (tous les pas)
    61976158    ! avec une correction pour le cycle diurne dans le SW
    6198     !
    61996159
    62006160    DO k=1, klev
     
    62186178    CALL prt_enerbil('LW',itap)
    62196179
    6220     !
    62216180    IF (mydebug) THEN
    62226181       CALL writefield_phy('u_seri',u_seri,nbp_lev)
     
    62276186
    62286187    ! Calculer l'hydrologie de la surface
    6229     !
     6188
    62306189    !      CALL hydrol(dtime,pctsrf,rain_fall, snow_fall, zxevap,
    62316190    !     .            agesno, ftsol,fqsurf,fsnow, ruis)
    6232     !
    6233 
    6234     !
     6191
    62356192    ! Calculer le bilan du sol et la derive de temperature (couplage)
    6236     !
     6193
    62376194    DO i = 1, klon
    62386195       !         bils(i) = radsol(i) - sens(i) - evap(i)*RLVTT
     
    62406197       bils(i) = radsol(i) - sens(i) + zxfluxlat(i)
    62416198    ENDDO
    6242     !
     6199
    62436200    !moddeblott(jan95)
    62446201    ! Appeler le programme de parametrisation de l'orographie
    62456202    ! a l'echelle sous-maille:
    6246     !
     6203
    62476204    IF (prt_level >=10) THEN
    62486205       print *,' call orography ? ', ok_orodr
    62496206    ENDIF
    6250     !
     6207
    62516208    IF (ok_orodr) THEN
    6252        !
     6209
    62536210       !  selection des points pour lesquels le shema est actif:
    62546211       igwd=0
     
    62686225       ENDDO
    62696226       !        igwdim=MAX(1,igwd)
    6270        !
     6227
    62716228       IF (ok_strato) THEN
    62726229
     
    62866243               d_t_oro, d_u_oro, d_v_oro)
    62876244       ENDIF
    6288        !
     6245
    62896246       !  ajout des tendances
    62906247       !-----------------------------------------------------------------------
     
    62986255       CALL prt_enerbil('oro',itap)
    62996256       !----------------------------------------------------------------------
    6300        !
     6257
    63016258    ENDIF ! fin de test sur ok_orodr
    6302     !
     6259
    63036260    IF (mydebug) THEN
    63046261       CALL writefield_phy('u_seri',u_seri,nbp_lev)
     
    63096266
    63106267    IF (ok_orolf) THEN
    6311        !
     6268
    63126269       !  selection des points pour lesquels le shema est actif:
    63136270       igwd=0
     
    63256282       ENDDO
    63266283       !        igwdim=MAX(1,igwd)
    6327        !
     6284
    63286285       IF (ok_strato) THEN
    63296286
     
    64476404       ENDDO
    64486405    ENDDO
    6449     !
     6406
    64506407    !IM calcul composantes axiales du moment angulaire et couple des montagnes
    6451     !
     6408
    64526409    IF (is_sequential .and. ok_orodr) THEN
    64536410       CALL aaam_bud (27,klon,klev,jD_cur-jD_ref,jH_cur, &
     
    64856442#endif
    64866443    ENDIF
    6487     !
    6488     !
     6444
     6445
    64896446IF (CPPKEY_STRATER) THEN
    64906447    IF (ok_qemiss) THEN
     
    65106467                m_H2O_emiss_vol_daily = m_H2O_emiss_vol(ieru)/(REAL(injdur)&
    65116468                     *REAL(ponde_lonlat_vol(ieru)))
    6512                 !
     6469
    65136470                CALL STRATEMIT(pdtphys,pdtphys,latitude_deg,longitude_deg,t_seri,&
    65146471                    pplay,paprs,tr_seri,&
     
    65356492!            Additional tendency of TKE due to orography
    65366493!===============================================================
    6537 !
     6494
    65386495! Inititialization
    65396496!------------------
     
    65616518!      ** 1 we include a fraction alphatkeoro of the whole tendency duoro
    65626519!      ** 2 we include a fraction alphatkeoro of the gravity wave part of duoro
    6563 !
    65646520
    65656521       IF (addtkeoro > 0 .AND. ok_orodr ) THEN
     
    66286584
    66296585    CALL tend_to_tke(pdtphys,paprs,exner,t_seri,u_seri,v_seri,dtadd,duadd,dvadd,pctsrf,pbl_tke)
    6630    !
     6586
    66316587   ! Prevent pbl_tke_w from becoming negative
    66326588    wake_delta_pbl_tke(:,:,:) = max(wake_delta_pbl_tke(:,:,:), -pbl_tke(:,:,:))
    6633    !
    66346589
    66356590       ENDIF
     
    68426797    !   Calcul  des tendances traceurs
    68436798    !====================================================================
    6844     !
    68456799
    68466800    IF (type_trac == 'repr') THEN
     
    68626816    ENDIF
    68636817
    6864 #ifdef CPP_Dust
     6818IF (CPPKEY_DUST) THEN
    68656819    !  Avec SPLA, iflag_phytrac est forcé =1
    68666820    CALL       phytracr_spl ( debut,lafin , jD_cur,jH_cur,iflag_con,       &  ! I
     
    68796833                      d_tr_dyn,tr_seri)
    68806834
    6881 #else
     6835ELSE
    68826836    IF (iflag_phytrac == 1 ) THEN
    68836837      CALL phytrac ( &
     
    69206874    ENDIF    ! (iflag_phytrac=1)
    69216875
    6922 #endif
     6876END IF
    69236877    !ENDIF    ! (iflag_phytrac=1)
    69246878
     
    69396893    ENDIF
    69406894
    6941     !
    69426895    ! Calculer le transport de l'eau et de l'energie (diagnostique)
    6943     !
     6896
    69446897    CALL transp (paprs,zxtsol, t_seri, q_seri, ql_seri, qs_seri, u_seri, v_seri, zphi, &
    69456898                 ue, ve, uq, vq, uwat, vwat)
    6946     !
     6899
    69476900    !IM global posePB BEG
    69486901    IF(1==0) THEN
    6949        !
     6902
    69506903       CALL transp_lay (paprs,zxtsol, t_seri, q_seri, u_seri, v_seri, zphi, &
    69516904            ve_lay, vq_lay, ue_lay, uq_lay)
    6952        !
     6905
    69536906    ENDIF !(1.EQ.0) THEN
    69546907    !IM global posePB END
    6955     !
     6908
    69566909    ! Accumuler les variables a stocker dans les fichiers histoire:
    6957     !
    69586910
    69596911    !================================================================
     
    70587010    !   SORTIES
    70597011    !=======================================================================
    7060     !
     7012
    70617013    !IM initialisation + calculs divers diag AMIP2
    7062     !
     7014
    70637015    include "calcul_divers.h"
    7064     !
     7016
    70657017    !IM Interpolation sur les niveaux de pression du NMC
    70667018    !   -------------------------------------------------
    7067     !
     7019
    70687020    include "calcul_STDlev.h"
    7069     !
     7021
    70707022    ! slp sea level pressure derived from Arpege-IFS : CALL ctstar + CALL pppmer
    70717023    CALL diag_slp(klon,t_seri,paprs,pplay,pphis,ptstar,pt0,slp)
    7072     !
    7073     !
     7024
     7025
    70747026    IF (ANY(type_trac == ['inca','inco'])) THEN
    70757027IF (CPPKEY_INCA) THEN
     
    71027054    ENDIF
    71037055
    7104     !
    71057056    ! Convertir les incrementations en tendances
    7106     !
     7057
    71077058    IF (prt_level >=10) THEN
    71087059       print *,'Convertir les incrementations en tendances '
    71097060    ENDIF
    7110     !
     7061
    71117062    IF (mydebug) THEN
    71127063       CALL writefield_phy('u_seri',u_seri,nbp_lev)
     
    71687119       ENDDO
    71697120    ENDDO
    7170     !
     7121
    71717122    !IM rajout diagnostiques bilan KP pour analyse MJO par Jun-Ichi Yano
    71727123    !IM global posePB      include "write_bilKP_ins.h"
    71737124    !IM global posePB      include "write_bilKP_ave.h"
    7174     !
     7125
    71757126    ! Sauvegarder les valeurs de t et q a la fin de la physique:
    7176     !
     7127
    71777128    u_ancien(:,:)  = u_seri(:,:)
    71787129    v_ancien(:,:)  = v_seri(:,:)
     
    72617212       ENDDO
    72627213    ENDDO
    7263     !
    72647214
    72657215    ! 22.03.04 BEG
     
    73117261    !On effectue les sorties:
    73127262
    7313 #ifdef CPP_Dust
     7263IF (CPPKEY_DUST) THEN
    73147264  CALL phys_output_write_spl(itap, pdtphys, paprs, pphis,  &
    73157265       pplay, lmax_th, aerosol_couple,                 &
     
    73187268       ptconvth, d_t, qx, d_qx, d_tr_dyn, zmasse,      &
    73197269       flag_aerosol, flag_aerosol_strat, ok_cdnc)
    7320 #else
     7270ELSE
    73217271    CALL phys_output_write(itap, pdtphys, paprs, pphis,  &
    73227272         pplay, lmax_th, aerosol_couple,                 &
     
    73257275         ptconvth, d_u, d_t, qx, d_qx, zmasse,           &
    73267276         flag_aerosol, flag_aerosol_strat, ok_cdnc,t, u1, v1)
    7327 #endif
     7277END IF
    73287278
    73297279    IF (.NOT. using_xios) THEN
     
    73487298
    73497299    ! 22.03.04 END
    7350     !
     7300
    73517301    !====================================================================
    73527302    ! Si c'est la fin, il faut conserver l'etat de redemarrage
    73537303    !====================================================================
    7354     !
     7304
    73557305#ifdef ISO   
    73567306#ifdef ISOVERIF
  • LMDZ6/branches/Amaury_dev/libf/phylmdiso/reevap.F90

    r5088 r5099  
    3434    include "FCTTRE.h"
    3535    !IM 100106 BEG : pouvoir sortir les ctes de la physique
    36     !
     36
    3737do ixt=1,1+ntiso
    3838    ! Re-evaporer l'eau liquide nuageuse
    39     !
     39
    4040    iliqcur= iqWIsoPha(ixt,iliq)
    4141    ivapcur= iqWIsoPha(ixt,ivap)
Note: See TracChangeset for help on using the changeset viewer.