Ignore:
Timestamp:
Nov 25, 2020, 10:29:26 AM (4 years ago)
Author:
asima
Message:

Makes LMDZ-SPLA work again.
Minimal - but not minor - modifications required by going from LMDZ5 to LMDZ6.
For the time being, SPLA input files (including correction coefficient files for aerosols emissions) are only available for the 128x88 grid zoomed on N Africa, used by Jeronimo Escribano and Binta Diallo.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/trunk/libf/phylmd/Dust/phytracr_spl_mod.F90

    r2648 r3786  
    33
    44MODULE phytracr_spl_mod
    5 
    65
    76! Recuperation des morceaux de la physique de Jeronimo specifiques
     
    445444!
    446445!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
     446SUBROUTINE phytracr_spl_out_init()
     447!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
     448!AS : This new subroutine centralises les ALLOCATE dont on a besoin au premier appel
     449!     de phys_output_write_spl dans physiq
     450
     451    USE dimphy
     452    USE infotrac_phy, ONLY: nbtr
     453    USE dustemission_mod, ONLY :  dustemis_out_init
     454
     455    ! pour les variables m[1-3]dflux
     456    CALL dustemis_out_init()
     457
     458    !AS: moved here from  section INITIALISATIONS of subroutine phytracr_spl_ini
     459    !    ALLOCATE variables from spla_output_write.h, section "traceur"
     460
     461!traceur
     462      ALLOCATE( diff_aod550_tot(klon)     )
     463      ALLOCATE( diag_aod670_tot(klon)     )
     464      ALLOCATE( diag_aod865_tot(klon)     )
     465      ALLOCATE( diff_aod550_tr2(klon)     )
     466      ALLOCATE( diag_aod670_tr2(klon)     )
     467      ALLOCATE( diag_aod865_tr2(klon)     )
     468      ALLOCATE( diag_aod550_ss(klon)      )
     469      ALLOCATE( diag_aod670_ss(klon)      )
     470      ALLOCATE( diag_aod865_ss(klon)      )
     471      ALLOCATE( diag_aod550_dust(klon)    )
     472      ALLOCATE( diag_aod670_dust(klon)    )
     473      ALLOCATE( diag_aod865_dust(klon)    )
     474      ALLOCATE( diag_aod550_dustsco(klon)  )
     475      ALLOCATE( diag_aod670_dustsco(klon)  )
     476      ALLOCATE( diag_aod865_dustsco(klon)  )
     477      !AS: les 15 vars _terra et 15 _aqua suivantes sont groupees differemment dans spla_output_write.h
     478      ALLOCATE( aod550_terra(klon))
     479      ALLOCATE( aod550_tr2_terra(klon))
     480      ALLOCATE( aod550_ss_terra(klon))
     481      ALLOCATE( aod550_dust_terra(klon))
     482      ALLOCATE( aod550_dustsco_terra(klon))
     483      ALLOCATE( aod670_terra(klon))
     484      ALLOCATE( aod670_tr2_terra(klon))
     485      ALLOCATE( aod670_ss_terra(klon))
     486      ALLOCATE( aod670_dust_terra(klon))
     487      ALLOCATE( aod670_dustsco_terra(klon))
     488      ALLOCATE( aod865_terra(klon))
     489      ALLOCATE( aod865_tr2_terra(klon))
     490      ALLOCATE( aod865_ss_terra(klon))
     491      ALLOCATE( aod865_dust_terra(klon))
     492      ALLOCATE( aod865_dustsco_terra(klon))
     493
     494      ALLOCATE( aod550_aqua(klon))
     495      ALLOCATE( aod550_tr2_aqua(klon))
     496      ALLOCATE( aod550_ss_aqua(klon))
     497      ALLOCATE( aod550_dust_aqua(klon))
     498      ALLOCATE( aod550_dustsco_aqua(klon))
     499      ALLOCATE( aod670_aqua(klon))
     500      ALLOCATE( aod670_tr2_aqua(klon))
     501      ALLOCATE( aod670_ss_aqua(klon))
     502      ALLOCATE( aod670_dust_aqua(klon))
     503      ALLOCATE( aod670_dustsco_aqua(klon))
     504      ALLOCATE( aod865_aqua(klon))
     505      ALLOCATE( aod865_tr2_aqua(klon))
     506      ALLOCATE( aod865_ss_aqua(klon))
     507      ALLOCATE( aod865_dust_aqua(klon))
     508      ALLOCATE( aod865_dustsco_aqua(klon))
     509
     510      ALLOCATE(  sconc01(klon)     )
     511      ALLOCATE(  trm01(klon)     )
     512      ALLOCATE(  sconc02(klon)     )
     513      ALLOCATE(  trm02(klon)     )
     514      ALLOCATE(  sconc03(klon)     )
     515      ALLOCATE(  trm03(klon)     )
     516      ALLOCATE(  sconc04(klon)     )
     517      ALLOCATE(  trm04(klon)     )
     518      ALLOCATE(  sconc05(klon)     )
     519      ALLOCATE(  trm05(klon)     )
     520
     521! Lessivage
     522      ALLOCATE(  flux01(klon)     )
     523      ALLOCATE(  flux02(klon)     )
     524      ALLOCATE(  flux03(klon)     )
     525      ALLOCATE(  flux04(klon)     )
     526      ALLOCATE(  flux05(klon)     )
     527      ALLOCATE(  ds01(klon)     )
     528      ALLOCATE(  ds02(klon)     )
     529      ALLOCATE(  ds03(klon)     )
     530      ALLOCATE(  ds04(klon)     )
     531      ALLOCATE(  ds05(klon)     )
     532      ALLOCATE(  dh01(klon)     )
     533      ALLOCATE(  dh02(klon)     )
     534      ALLOCATE(  dh03(klon)     )
     535      ALLOCATE(  dh04(klon)     )
     536      ALLOCATE(  dh05(klon)     )
     537      ALLOCATE(  dtrconv01(klon)     )
     538      ALLOCATE(  dtrconv02(klon)     )
     539      ALLOCATE(  dtrconv03(klon)     )
     540      ALLOCATE(  dtrconv04(klon)     )
     541      ALLOCATE(  dtrconv05(klon)     )
     542      ALLOCATE(  dtherm01(klon)     )
     543      ALLOCATE(  dtherm02(klon)     )
     544      ALLOCATE(  dtherm03(klon)     )
     545      ALLOCATE(  dtherm04(klon)     )
     546      ALLOCATE(  dtherm05(klon)     )
     547      ALLOCATE(  dhkecv01(klon)     )
     548      ALLOCATE(  dhkecv02(klon)     )
     549      ALLOCATE(  dhkecv03(klon)     )
     550      ALLOCATE(  dhkecv04(klon)     )
     551      ALLOCATE(  dhkecv05(klon)     )
     552      ALLOCATE(  d_tr_ds01(klon)     )
     553      ALLOCATE(  d_tr_ds02(klon)     )
     554      ALLOCATE(  d_tr_ds03(klon)     )
     555      ALLOCATE(  d_tr_ds04(klon)     )
     556      ALLOCATE(  d_tr_ds05(klon)     )
     557      ALLOCATE(  dhkelsc01(klon)     )
     558      ALLOCATE(  dhkelsc02(klon)     )
     559      ALLOCATE(  dhkelsc03(klon)     )
     560      ALLOCATE(  dhkelsc04(klon)     )
     561      ALLOCATE(  dhkelsc05(klon)     )
     562      ALLOCATE(  d_tr_cv01(klon,klev))
     563      ALLOCATE(  d_tr_cv02(klon,klev))
     564      ALLOCATE(  d_tr_cv03(klon,klev))
     565      ALLOCATE(  d_tr_cv04(klon,klev))
     566      ALLOCATE(  d_tr_cv05(klon,klev))
     567      ALLOCATE(  d_tr_trsp01(klon,klev))
     568      ALLOCATE(  d_tr_trsp02(klon,klev))
     569      ALLOCATE(  d_tr_trsp03(klon,klev))
     570      ALLOCATE(  d_tr_trsp04(klon,klev))
     571      ALLOCATE(  d_tr_trsp05(klon,klev))
     572      ALLOCATE(  d_tr_sscav01(klon,klev))
     573      ALLOCATE(  d_tr_sscav02(klon,klev))
     574      ALLOCATE(  d_tr_sscav03(klon,klev))
     575      ALLOCATE(  d_tr_sscav04(klon,klev))
     576      ALLOCATE(  d_tr_sscav05(klon,klev))
     577      ALLOCATE(  d_tr_sat01(klon,klev))
     578      ALLOCATE(  d_tr_sat02(klon,klev))
     579      ALLOCATE(  d_tr_sat03(klon,klev))
     580      ALLOCATE(  d_tr_sat04(klon,klev))
     581      ALLOCATE(  d_tr_sat05(klon,klev))
     582      ALLOCATE(  d_tr_uscav01(klon,klev))
     583      ALLOCATE(  d_tr_uscav02(klon,klev))
     584      ALLOCATE(  d_tr_uscav03(klon,klev))
     585      ALLOCATE(  d_tr_uscav04(klon,klev))
     586      ALLOCATE(  d_tr_uscav05(klon,klev))
     587!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
     588      ALLOCATE(  d_tr_insc01(klon,klev))
     589      ALLOCATE(  d_tr_insc02(klon,klev))
     590      ALLOCATE(  d_tr_insc03(klon,klev))
     591      ALLOCATE(  d_tr_insc04(klon,klev))
     592      ALLOCATE(  d_tr_insc05(klon,klev))
     593      ALLOCATE(  d_tr_bcscav01(klon,klev))
     594      ALLOCATE(  d_tr_bcscav02(klon,klev))
     595      ALLOCATE(  d_tr_bcscav03(klon,klev))
     596      ALLOCATE(  d_tr_bcscav04(klon,klev))
     597      ALLOCATE(  d_tr_bcscav05(klon,klev))
     598      ALLOCATE(  d_tr_evapls01(klon,klev))
     599      ALLOCATE(  d_tr_evapls02(klon,klev))
     600      ALLOCATE(  d_tr_evapls03(klon,klev))
     601      ALLOCATE(  d_tr_evapls04(klon,klev))
     602      ALLOCATE(  d_tr_evapls05(klon,klev))
     603      ALLOCATE(  d_tr_ls01(klon,klev))
     604      ALLOCATE(  d_tr_ls02(klon,klev))
     605      ALLOCATE(  d_tr_ls03(klon,klev))
     606      ALLOCATE(  d_tr_ls04(klon,klev))
     607      ALLOCATE(  d_tr_ls05(klon,klev))
     608
     609      ALLOCATE(  d_tr_dyn01(klon,klev))
     610      ALLOCATE(  d_tr_dyn02(klon,klev))
     611      ALLOCATE(  d_tr_dyn03(klon,klev))
     612      ALLOCATE(  d_tr_dyn04(klon,klev))
     613      ALLOCATE(  d_tr_dyn05(klon,klev))
     614
     615      ALLOCATE(  d_tr_cl01(klon,klev))
     616      ALLOCATE(  d_tr_cl02(klon,klev))
     617      ALLOCATE(  d_tr_cl03(klon,klev))
     618      ALLOCATE(  d_tr_cl04(klon,klev))
     619      ALLOCATE(  d_tr_cl05(klon,klev))
     620      ALLOCATE(  d_tr_th01(klon,klev))
     621      ALLOCATE(  d_tr_th02(klon,klev))
     622      ALLOCATE(  d_tr_th03(klon,klev))
     623      ALLOCATE(  d_tr_th04(klon,klev))
     624      ALLOCATE(  d_tr_th05(klon,klev))
     625
     626      ALLOCATE( sed_ss(klon))
     627      ALLOCATE( sed_dust(klon))
     628      ALLOCATE( sed_dustsco(klon))
     629      ALLOCATE( his_g2pgas(klon))
     630      ALLOCATE( his_g2paer(klon))
     631
     632!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
     633      ALLOCATE( sed_ss3D(klon,klev))
     634      ALLOCATE( sed_dust3D(klon,klev))
     635      ALLOCATE( sed_dustsco3D(klon,klev))
     636!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
     637
     638!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
     639! histrac_spl
     640!
     641      ALLOCATE( fluxbb(klon))
     642      ALLOCATE( fluxff(klon))
     643      ALLOCATE( fluxbcbb(klon))
     644      ALLOCATE( fluxbcff(klon))
     645      ALLOCATE( fluxbcnff(klon))
     646      ALLOCATE( fluxbcba(klon))
     647      ALLOCATE( fluxbc(klon))
     648      ALLOCATE( fluxombb(klon))
     649      ALLOCATE( fluxomff(klon))
     650      ALLOCATE( fluxomnff(klon))
     651      ALLOCATE( fluxomba(klon))
     652      ALLOCATE( fluxomnat(klon))
     653      ALLOCATE( fluxom(klon))
     654      ALLOCATE( fluxh2sff(klon))
     655      ALLOCATE( fluxh2snff(klon))
     656      ALLOCATE( fluxso2ff(klon))
     657      ALLOCATE( fluxso2nff(klon))
     658      ALLOCATE( fluxso2bb(klon))
     659      ALLOCATE( fluxso2vol(klon))
     660      ALLOCATE( fluxso2ba(klon))
     661      ALLOCATE( fluxso2(klon))
     662      ALLOCATE( fluxso4ff(klon))
     663      ALLOCATE( fluxso4nff(klon))
     664      ALLOCATE( fluxso4bb(klon))
     665      ALLOCATE( fluxso4ba(klon))
     666      ALLOCATE( fluxso4(klon))
     667      ALLOCATE( fluxdms(klon))
     668      ALLOCATE( fluxh2sbio(klon))
     669      ALLOCATE( fluxdustec(klon))
     670      ALLOCATE( fluxddfine(klon))
     671      ALLOCATE( fluxddcoa(klon))
     672      ALLOCATE( fluxddsco(klon))
     673      ALLOCATE( fluxdd(klon))
     674      ALLOCATE( fluxssfine(klon))
     675      ALLOCATE( fluxsscoa(klon))
     676      ALLOCATE( fluxss(klon))
     677      ALLOCATE( flux_sparam_ind(klon))
     678      ALLOCATE( flux_sparam_bb(klon))
     679      ALLOCATE( flux_sparam_ff(klon))
     680      ALLOCATE( flux_sparam_ddfine(klon))
     681      ALLOCATE( flux_sparam_ddcoa(klon))
     682      ALLOCATE( flux_sparam_ddsco(klon))
     683      ALLOCATE( flux_sparam_ssfine(klon))
     684      ALLOCATE( flux_sparam_sscoa(klon))
     685      ALLOCATE( u10m_ss(klon))
     686      ALLOCATE( v10m_ss(klon))
     687
     688!AS: dans phys_output_write_spl, hors spla_output_write.h
     689!------------------------------------------------------
     690      ALLOCATE(d_tr_cl(klon,klev,nbtr))
     691      ALLOCATE(d_tr_th(klon,klev,nbtr))
     692      ALLOCATE(d_tr_cv(klon,klev,nbtr))
     693      ALLOCATE(d_tr_lessi_impa(klon,klev,nbtr))
     694      ALLOCATE(d_tr_lessi_nucl(klon,klev,nbtr))
     695      ALLOCATE(d_tr_insc(klon,klev,nbtr))
     696      ALLOCATE(d_tr_bcscav(klon,klev,nbtr))
     697      ALLOCATE(d_tr_evapls(klon,klev,nbtr))
     698      ALLOCATE(d_tr_ls(klon,klev,nbtr))
     699      ALLOCATE(d_tr_trsp(klon,klev,nbtr))
     700      ALLOCATE(d_tr_sscav(klon,klev,nbtr))
     701      ALLOCATE(d_tr_sat(klon,klev,nbtr))
     702      ALLOCATE(d_tr_uscav(klon,klev,nbtr))
     703     
     704END SUBROUTINE phytracr_spl_out_init
     705
     706!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    447707SUBROUTINE phytracr_spl_ini(klon,nbreg_ind,nbreg_bb,nbreg_dust,nbreg_wstardust)
    448708!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
     
    10811341  print *,'JE: jD_cur:',jD_cur,' ijulday:',ijulday,' jH_cur:',jH_cur,' pdtphys:',pdtphys
    10821342  print *,'JE: now read_newemissions:'
    1083   print *,'lmt_so2ff_l AVANT' , MINVAL(lmt_so2ff_l), MAXVAL(lmt_so2ff_l)
     1343!AS: La ligne suivante fait planter a l'execution : lmt_so2ff_l pas initialise
     1344!  print *,'lmt_so2ff_l AVANT' , MINVAL(lmt_so2ff_l), MAXVAL(lmt_so2ff_l)
    10841345  call read_newemissions(ijulday,jH_cur ,edgar, flag_dms,debutphy, & !I
    10851346                         pdtphys, lafin, nbjour, pctsrf,  &       !I
     
    12891550
    12901551      ! convective KE lessivage aer params:
     1552      ! AS: #DFB (Binta) a aussi teste ccntrAA_spla=ccntrENV_spla=0.9/1.0/0.9/0.9
     1553      !     mais effet negligeable sur l'AOD
    12911554      ccntrAA_spla(:)=0.
    12921555      if(id_prec>0)  ccntrAA_spla(id_prec)=-9999.
     
    13021565      if(id_codu>0)  ccntrENV_spla(id_codu)=0.7
    13031566      if(id_scdu>0)  ccntrENV_spla(id_scdu)=0.7
    1304 
     1567      ! #DFB
    13051568      coefcoli_spla(:)=0.
    13061569      if(id_prec>0)  coefcoli_spla(id_prec)=-9999.
     
    18752138!$OMP MASTER
    18762139
    1877       ALLOCATE(d_tr_cl(klon,klev,nbtr),d_tr_dry(klon,nbtr))
     2140      !ALLOCATE(d_tr_cl(klon,klev,nbtr),d_tr_dry(klon,nbtr))
     2141      ALLOCATE(d_tr_dry(klon,nbtr))
    18782142      ALLOCATE(flux_tr_dry(klon,nbtr),d_tr_dec(klon,klev,nbtr))
    1879       ALLOCATE(d_tr_cv(klon,klev,nbtr))
    1880       ALLOCATE(d_tr_insc(klon,klev,nbtr),d_tr_bcscav(klon,klev,nbtr))
    1881       ALLOCATE(d_tr_evapls(klon,klev,nbtr),d_tr_ls(klon,klev,nbtr))
    1882       ALLOCATE(qPrls(klon,nbtr),d_tr_trsp(klon,klev,nbtr))
    1883       ALLOCATE(d_tr_sscav(klon,klev,nbtr),d_tr_sat(klon,klev,nbtr))
    1884       ALLOCATE(d_tr_uscav(klon,klev,nbtr),qPr(klon,klev,nbtr))
     2143      !ALLOCATE(d_tr_cv(klon,klev,nbtr))
     2144      !ALLOCATE(d_tr_insc(klon,klev,nbtr),d_tr_bcscav(klon,klev,nbtr))
     2145      !ALLOCATE(d_tr_evapls(klon,klev,nbtr),d_tr_ls(klon,klev,nbtr))
     2146      !ALLOCATE(qPrls(klon,nbtr),d_tr_trsp(klon,klev,nbtr))
     2147      ALLOCATE(qPrls(klon,nbtr),qPr(klon,klev,nbtr))
     2148      !ALLOCATE(d_tr_sscav(klon,klev,nbtr),d_tr_sat(klon,klev,nbtr))
     2149      !ALLOCATE(d_tr_uscav(klon,klev,nbtr),qPr(klon,klev,nbtr))
    18852150      ALLOCATE(qDi(klon,klev,nbtr))
    18862151      ALLOCATE(qPa(klon,klev,nbtr),qMel(klon,klev,nbtr))
    18872152      ALLOCATE(qTrdi(klon,klev,nbtr),dtrcvMA(klon,klev,nbtr))
    1888       ALLOCATE(d_tr_th(klon,klev,nbtr))
    1889       ALLOCATE(d_tr_lessi_impa(klon,klev,nbtr))
    1890       ALLOCATE(d_tr_lessi_nucl(klon,klev,nbtr))
    1891 
    1892       ALLOCATE( diff_aod550_tot(klon)     )
    1893       ALLOCATE( diag_aod670_tot(klon)     )
    1894       ALLOCATE( diag_aod865_tot(klon)     )
    1895       ALLOCATE( diff_aod550_tr2(klon)     )
    1896       ALLOCATE( diag_aod670_tr2(klon)     )
    1897       ALLOCATE( diag_aod865_tr2(klon)     )
    1898       ALLOCATE( diag_aod550_ss(klon)      )
    1899       ALLOCATE( diag_aod670_ss(klon)      )
    1900       ALLOCATE( diag_aod865_ss(klon)      )
    1901       ALLOCATE( diag_aod550_dust(klon)    )
    1902       ALLOCATE( diag_aod670_dust(klon)    )
    1903       ALLOCATE( diag_aod865_dust(klon)    )
    1904       ALLOCATE( diag_aod550_dustsco(klon)  )
    1905       ALLOCATE( diag_aod670_dustsco(klon)  )
    1906       ALLOCATE( diag_aod865_dustsco(klon)  )
    1907 
    1908 
    1909       ALLOCATE(  sconc01(klon)     )
    1910       ALLOCATE(  trm01(klon)     )
    1911       ALLOCATE(  sconc02(klon)     )
    1912       ALLOCATE(  trm02(klon)     )
    1913       ALLOCATE(  sconc03(klon)     )
    1914       ALLOCATE(  trm03(klon)     )
    1915       ALLOCATE(  sconc04(klon)     )
    1916       ALLOCATE(  trm04(klon)     )
    1917       ALLOCATE(  sconc05(klon)     )
    1918       ALLOCATE(  trm05(klon)     )
    1919 
    1920 
    1921       ALLOCATE(  flux01(klon)     )
    1922       ALLOCATE(  flux02(klon)     )
    1923       ALLOCATE(  flux03(klon)     )
    1924       ALLOCATE(  flux04(klon)     )
    1925       ALLOCATE(  flux05(klon)     )
    1926       ALLOCATE(  ds01(klon)     )
    1927       ALLOCATE(  ds02(klon)     )
    1928       ALLOCATE(  ds03(klon)     )
    1929       ALLOCATE(  ds04(klon)     )
    1930       ALLOCATE(  ds05(klon)     )
    1931       ALLOCATE(  dh01(klon)     )
    1932       ALLOCATE(  dh02(klon)     )
    1933       ALLOCATE(  dh03(klon)     )
    1934       ALLOCATE(  dh04(klon)     )
    1935       ALLOCATE(  dh05(klon)     )
    1936       ALLOCATE(  dtrconv01(klon)     )
    1937       ALLOCATE(  dtrconv02(klon)     )
    1938       ALLOCATE(  dtrconv03(klon)     )
    1939       ALLOCATE(  dtrconv04(klon)     )
    1940       ALLOCATE(  dtrconv05(klon)     )
    1941       ALLOCATE(  dtherm01(klon)     )
    1942       ALLOCATE(  dtherm02(klon)     )
    1943       ALLOCATE(  dtherm03(klon)     )
    1944       ALLOCATE(  dtherm04(klon)     )
    1945       ALLOCATE(  dtherm05(klon)     )
    1946       ALLOCATE(  dhkecv01(klon)     )
    1947       ALLOCATE(  dhkecv02(klon)     )
    1948       ALLOCATE(  dhkecv03(klon)     )
    1949       ALLOCATE(  dhkecv04(klon)     )
    1950       ALLOCATE(  dhkecv05(klon)     )
    1951       ALLOCATE(  d_tr_ds01(klon)     )
    1952       ALLOCATE(  d_tr_ds02(klon)     )
    1953       ALLOCATE(  d_tr_ds03(klon)     )
    1954       ALLOCATE(  d_tr_ds04(klon)     )
    1955       ALLOCATE(  d_tr_ds05(klon)     )
    1956       ALLOCATE(  dhkelsc01(klon)     )
    1957       ALLOCATE(  dhkelsc02(klon)     )
    1958       ALLOCATE(  dhkelsc03(klon)     )
    1959       ALLOCATE(  dhkelsc04(klon)     )
    1960       ALLOCATE(  dhkelsc05(klon)     )
    1961       ALLOCATE(  d_tr_cv01(klon,klev))
    1962       ALLOCATE(  d_tr_cv02(klon,klev))
    1963       ALLOCATE(  d_tr_cv03(klon,klev))
    1964       ALLOCATE(  d_tr_cv04(klon,klev))
    1965       ALLOCATE(  d_tr_cv05(klon,klev))
    1966       ALLOCATE(  d_tr_trsp01(klon,klev))
    1967       ALLOCATE(  d_tr_trsp02(klon,klev))
    1968       ALLOCATE(  d_tr_trsp03(klon,klev))
    1969       ALLOCATE(  d_tr_trsp04(klon,klev))
    1970       ALLOCATE(  d_tr_trsp05(klon,klev))
    1971       ALLOCATE(  d_tr_sscav01(klon,klev))
    1972       ALLOCATE(  d_tr_sscav02(klon,klev))
    1973       ALLOCATE(  d_tr_sscav03(klon,klev))
    1974       ALLOCATE(  d_tr_sscav04(klon,klev))
    1975       ALLOCATE(  d_tr_sscav05(klon,klev))
    1976       ALLOCATE(  d_tr_sat01(klon,klev))
    1977       ALLOCATE(  d_tr_sat02(klon,klev))
    1978       ALLOCATE(  d_tr_sat03(klon,klev))
    1979       ALLOCATE(  d_tr_sat04(klon,klev))
    1980       ALLOCATE(  d_tr_sat05(klon,klev))
    1981       ALLOCATE(  d_tr_uscav01(klon,klev))
    1982       ALLOCATE(  d_tr_uscav02(klon,klev))
    1983       ALLOCATE(  d_tr_uscav03(klon,klev))
    1984       ALLOCATE(  d_tr_uscav04(klon,klev))
    1985       ALLOCATE(  d_tr_uscav05(klon,klev))
     2153      !ALLOCATE(d_tr_th(klon,klev,nbtr))
     2154      !ALLOCATE(d_tr_lessi_impa(klon,klev,nbtr))
     2155      !ALLOCATE(d_tr_lessi_nucl(klon,klev,nbtr))
     2156
     2157      !ALLOCATE( diff_aod550_tot(klon)     )
     2158      !ALLOCATE( diag_aod670_tot(klon)     )
     2159      !ALLOCATE( diag_aod865_tot(klon)     )
     2160      !ALLOCATE( diff_aod550_tr2(klon)     )
     2161      !ALLOCATE( diag_aod670_tr2(klon)     )
     2162      !ALLOCATE( diag_aod865_tr2(klon)     )
     2163      !ALLOCATE( diag_aod550_ss(klon)      )
     2164      !ALLOCATE( diag_aod670_ss(klon)      )
     2165      !ALLOCATE( diag_aod865_ss(klon)      )
     2166      !ALLOCATE( diag_aod550_dust(klon)    )
     2167      !ALLOCATE( diag_aod670_dust(klon)    )
     2168      !ALLOCATE( diag_aod865_dust(klon)    )
     2169      !ALLOCATE( diag_aod550_dustsco(klon)  )
     2170      !ALLOCATE( diag_aod670_dustsco(klon)  )
     2171      !ALLOCATE( diag_aod865_dustsco(klon)  )
     2172
     2173
     2174      !ALLOCATE(  sconc01(klon)     )
     2175      !ALLOCATE(  trm01(klon)     )
     2176      !ALLOCATE(  sconc02(klon)     )
     2177      !ALLOCATE(  trm02(klon)     )
     2178      !ALLOCATE(  sconc03(klon)     )
     2179      !ALLOCATE(  trm03(klon)     )
     2180      !ALLOCATE(  sconc04(klon)     )
     2181      !ALLOCATE(  trm04(klon)     )
     2182      !ALLOCATE(  sconc05(klon)     )
     2183      !ALLOCATE(  trm05(klon)     )
     2184
     2185
     2186      !ALLOCATE(  flux01(klon)     )
     2187      !ALLOCATE(  flux02(klon)     )
     2188      !ALLOCATE(  flux03(klon)     )
     2189      !ALLOCATE(  flux04(klon)     )
     2190      !ALLOCATE(  flux05(klon)     )
     2191      !ALLOCATE(  ds01(klon)     )
     2192      !ALLOCATE(  ds02(klon)     )
     2193      !ALLOCATE(  ds03(klon)     )
     2194      !ALLOCATE(  ds04(klon)     )
     2195      !ALLOCATE(  ds05(klon)     )
     2196      !ALLOCATE(  dh01(klon)     )
     2197      !ALLOCATE(  dh02(klon)     )
     2198      !ALLOCATE(  dh03(klon)     )
     2199      !ALLOCATE(  dh04(klon)     )
     2200      !ALLOCATE(  dh05(klon)     )
     2201      !ALLOCATE(  dtrconv01(klon)     )
     2202      !ALLOCATE(  dtrconv02(klon)     )
     2203      !ALLOCATE(  dtrconv03(klon)     )
     2204      !ALLOCATE(  dtrconv04(klon)     )
     2205      !ALLOCATE(  dtrconv05(klon)     )
     2206      !ALLOCATE(  dtherm01(klon)     )
     2207      !ALLOCATE(  dtherm02(klon)     )
     2208      !ALLOCATE(  dtherm03(klon)     )
     2209      !ALLOCATE(  dtherm04(klon)     )
     2210      !ALLOCATE(  dtherm05(klon)     )
     2211      !ALLOCATE(  dhkecv01(klon)     )
     2212      !ALLOCATE(  dhkecv02(klon)     )
     2213      !ALLOCATE(  dhkecv03(klon)     )
     2214      !ALLOCATE(  dhkecv04(klon)     )
     2215      !ALLOCATE(  dhkecv05(klon)     )
     2216      !ALLOCATE(  d_tr_ds01(klon)     )
     2217      !ALLOCATE(  d_tr_ds02(klon)     )
     2218      !ALLOCATE(  d_tr_ds03(klon)     )
     2219      !ALLOCATE(  d_tr_ds04(klon)     )
     2220      !ALLOCATE(  d_tr_ds05(klon)     )
     2221      !ALLOCATE(  dhkelsc01(klon)     )
     2222      !ALLOCATE(  dhkelsc02(klon)     )
     2223      !ALLOCATE(  dhkelsc03(klon)     )
     2224      !ALLOCATE(  dhkelsc04(klon)     )
     2225      !ALLOCATE(  dhkelsc05(klon)     )
     2226      !ALLOCATE(  d_tr_cv01(klon,klev))
     2227      !ALLOCATE(  d_tr_cv02(klon,klev))
     2228      !ALLOCATE(  d_tr_cv03(klon,klev))
     2229      !ALLOCATE(  d_tr_cv04(klon,klev))
     2230      !ALLOCATE(  d_tr_cv05(klon,klev))
     2231      !ALLOCATE(  d_tr_trsp01(klon,klev))
     2232      !ALLOCATE(  d_tr_trsp02(klon,klev))
     2233      !ALLOCATE(  d_tr_trsp03(klon,klev))
     2234      !ALLOCATE(  d_tr_trsp04(klon,klev))
     2235      !ALLOCATE(  d_tr_trsp05(klon,klev))
     2236      !ALLOCATE(  d_tr_sscav01(klon,klev))
     2237      !ALLOCATE(  d_tr_sscav02(klon,klev))
     2238      !ALLOCATE(  d_tr_sscav03(klon,klev))
     2239      !ALLOCATE(  d_tr_sscav04(klon,klev))
     2240      !ALLOCATE(  d_tr_sscav05(klon,klev))
     2241      !ALLOCATE(  d_tr_sat01(klon,klev))
     2242      !ALLOCATE(  d_tr_sat02(klon,klev))
     2243      !ALLOCATE(  d_tr_sat03(klon,klev))
     2244      !ALLOCATE(  d_tr_sat04(klon,klev))
     2245      !ALLOCATE(  d_tr_sat05(klon,klev))
     2246      !ALLOCATE(  d_tr_uscav01(klon,klev))
     2247      !ALLOCATE(  d_tr_uscav02(klon,klev))
     2248      !ALLOCATE(  d_tr_uscav03(klon,klev))
     2249      !ALLOCATE(  d_tr_uscav04(klon,klev))
     2250      !ALLOCATE(  d_tr_uscav05(klon,klev))
    19862251     
    19872252!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    19882253!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    1989       ALLOCATE(  d_tr_insc01(klon,klev))
    1990       ALLOCATE(  d_tr_insc02(klon,klev))
    1991       ALLOCATE(  d_tr_insc03(klon,klev))
    1992       ALLOCATE(  d_tr_insc04(klon,klev))
    1993       ALLOCATE(  d_tr_insc05(klon,klev))
    1994       ALLOCATE(  d_tr_bcscav01(klon,klev))
    1995       ALLOCATE(  d_tr_bcscav02(klon,klev))
    1996       ALLOCATE(  d_tr_bcscav03(klon,klev))
    1997       ALLOCATE(  d_tr_bcscav04(klon,klev))
    1998       ALLOCATE(  d_tr_bcscav05(klon,klev))
    1999       ALLOCATE(  d_tr_evapls01(klon,klev))
    2000       ALLOCATE(  d_tr_evapls02(klon,klev))
    2001       ALLOCATE(  d_tr_evapls03(klon,klev))
    2002       ALLOCATE(  d_tr_evapls04(klon,klev))
    2003       ALLOCATE(  d_tr_evapls05(klon,klev))
    2004       ALLOCATE(  d_tr_ls01(klon,klev))
    2005       ALLOCATE(  d_tr_ls02(klon,klev))
    2006       ALLOCATE(  d_tr_ls03(klon,klev))
    2007       ALLOCATE(  d_tr_ls04(klon,klev))
    2008       ALLOCATE(  d_tr_ls05(klon,klev))
    2009       ALLOCATE(  d_tr_dyn01(klon,klev))
    2010       ALLOCATE(  d_tr_dyn02(klon,klev))
    2011       ALLOCATE(  d_tr_dyn03(klon,klev))
    2012       ALLOCATE(  d_tr_dyn04(klon,klev))
    2013       ALLOCATE(  d_tr_dyn05(klon,klev))
    2014       ALLOCATE(  d_tr_cl01(klon,klev))
    2015       ALLOCATE(  d_tr_cl02(klon,klev))
    2016       ALLOCATE(  d_tr_cl03(klon,klev))
    2017       ALLOCATE(  d_tr_cl04(klon,klev))
    2018       ALLOCATE(  d_tr_cl05(klon,klev))
    2019       ALLOCATE(  d_tr_th01(klon,klev))
    2020       ALLOCATE(  d_tr_th02(klon,klev))
    2021       ALLOCATE(  d_tr_th03(klon,klev))
    2022       ALLOCATE(  d_tr_th04(klon,klev))
    2023       ALLOCATE(  d_tr_th05(klon,klev))
    2024 
    2025       ALLOCATE( sed_ss3D(klon,klev))
    2026       ALLOCATE( sed_dust3D(klon,klev))
    2027       ALLOCATE( sed_dustsco3D(klon,klev))
     2254      !ALLOCATE(  d_tr_insc01(klon,klev))
     2255      !ALLOCATE(  d_tr_insc02(klon,klev))
     2256      !ALLOCATE(  d_tr_insc03(klon,klev))
     2257      !ALLOCATE(  d_tr_insc04(klon,klev))
     2258      !ALLOCATE(  d_tr_insc05(klon,klev))
     2259      !ALLOCATE(  d_tr_bcscav01(klon,klev))
     2260      !ALLOCATE(  d_tr_bcscav02(klon,klev))
     2261      !ALLOCATE(  d_tr_bcscav03(klon,klev))
     2262      !ALLOCATE(  d_tr_bcscav04(klon,klev))
     2263      !ALLOCATE(  d_tr_bcscav05(klon,klev))
     2264      !ALLOCATE(  d_tr_evapls01(klon,klev))
     2265      !ALLOCATE(  d_tr_evapls02(klon,klev))
     2266      !ALLOCATE(  d_tr_evapls03(klon,klev))
     2267      !ALLOCATE(  d_tr_evapls04(klon,klev))
     2268      !ALLOCATE(  d_tr_evapls05(klon,klev))
     2269      !ALLOCATE(  d_tr_ls01(klon,klev))
     2270      !ALLOCATE(  d_tr_ls02(klon,klev))
     2271      !ALLOCATE(  d_tr_ls03(klon,klev))
     2272      !ALLOCATE(  d_tr_ls04(klon,klev))
     2273      !ALLOCATE(  d_tr_ls05(klon,klev))
     2274      !ALLOCATE(  d_tr_dyn01(klon,klev))
     2275      !ALLOCATE(  d_tr_dyn02(klon,klev))
     2276      !ALLOCATE(  d_tr_dyn03(klon,klev))
     2277      !ALLOCATE(  d_tr_dyn04(klon,klev))
     2278      !ALLOCATE(  d_tr_dyn05(klon,klev))
     2279      !ALLOCATE(  d_tr_cl01(klon,klev))
     2280      !ALLOCATE(  d_tr_cl02(klon,klev))
     2281      !ALLOCATE(  d_tr_cl03(klon,klev))
     2282      !ALLOCATE(  d_tr_cl04(klon,klev))
     2283      !ALLOCATE(  d_tr_cl05(klon,klev))
     2284      !ALLOCATE(  d_tr_th01(klon,klev))
     2285      !ALLOCATE(  d_tr_th02(klon,klev))
     2286      !ALLOCATE(  d_tr_th03(klon,klev))
     2287      !ALLOCATE(  d_tr_th04(klon,klev))
     2288      !ALLOCATE(  d_tr_th05(klon,klev))
     2289
     2290      !ALLOCATE( sed_ss3D(klon,klev))
     2291      !ALLOCATE( sed_dust3D(klon,klev))
     2292      !ALLOCATE( sed_dustsco3D(klon,klev))
    20282293
    20292294!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    20302295!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    20312296
    2032       ALLOCATE( sed_ss(klon))
    2033       ALLOCATE( sed_dust(klon))
    2034       ALLOCATE( sed_dustsco(klon))
    2035       ALLOCATE( his_g2pgas(klon))
    2036       ALLOCATE( his_g2paer(klon))
    2037 
    2038       ALLOCATE( fluxbb(klon))
    2039       ALLOCATE( fluxff(klon))
    2040       ALLOCATE( fluxbcbb(klon))
    2041       ALLOCATE( fluxbcff(klon))
    2042       ALLOCATE( fluxbcnff(klon))
    2043       ALLOCATE( fluxbcba(klon))
    2044       ALLOCATE( fluxbc(klon))
    2045       ALLOCATE( fluxombb(klon))
    2046       ALLOCATE( fluxomff(klon))
    2047       ALLOCATE( fluxomnff(klon))
    2048       ALLOCATE( fluxomba(klon))
    2049       ALLOCATE( fluxomnat(klon))
    2050       ALLOCATE( fluxom(klon))
    2051       ALLOCATE( fluxh2sff(klon))
    2052       ALLOCATE( fluxh2snff(klon))
    2053       ALLOCATE( fluxso2ff(klon))
    2054       ALLOCATE( fluxso2nff(klon))
    2055       ALLOCATE( fluxso2bb(klon))
    2056       ALLOCATE( fluxso2vol(klon))
    2057       ALLOCATE( fluxso2ba(klon))
    2058       ALLOCATE( fluxso2(klon))
    2059       ALLOCATE( fluxso4ff(klon))
    2060       ALLOCATE( fluxso4nff(klon))
    2061       ALLOCATE( fluxso4bb(klon))
    2062       ALLOCATE( fluxso4ba(klon))
    2063       ALLOCATE( fluxso4(klon))
    2064       ALLOCATE( fluxdms(klon))
    2065       ALLOCATE( fluxh2sbio(klon))
    2066       ALLOCATE( fluxdustec(klon))
    2067       ALLOCATE( fluxddfine(klon))
    2068       ALLOCATE( fluxddcoa(klon))
    2069       ALLOCATE( fluxddsco(klon))
    2070       ALLOCATE( fluxdd(klon))
    2071       ALLOCATE( fluxssfine(klon))
    2072       ALLOCATE( fluxsscoa(klon))
    2073       ALLOCATE( fluxss(klon))
    2074       ALLOCATE( flux_sparam_ind(klon))
    2075       ALLOCATE( flux_sparam_bb(klon))
    2076       ALLOCATE( flux_sparam_ff(klon))
    2077       ALLOCATE( flux_sparam_ddfine(klon))
    2078       ALLOCATE( flux_sparam_ddcoa(klon))
    2079       ALLOCATE( flux_sparam_ddsco(klon))
    2080       ALLOCATE( flux_sparam_ssfine(klon))
    2081       ALLOCATE( flux_sparam_sscoa(klon))
    2082       ALLOCATE( u10m_ss(klon))
    2083       ALLOCATE( v10m_ss(klon))
     2297      !ALLOCATE( sed_ss(klon))
     2298      !ALLOCATE( sed_dust(klon))
     2299      !ALLOCATE( sed_dustsco(klon))
     2300      !ALLOCATE( his_g2pgas(klon))
     2301      !ALLOCATE( his_g2paer(klon))
     2302
     2303      !ALLOCATE( fluxbb(klon))
     2304      !ALLOCATE( fluxff(klon))
     2305      !ALLOCATE( fluxbcbb(klon))
     2306      !ALLOCATE( fluxbcff(klon))
     2307      !ALLOCATE( fluxbcnff(klon))
     2308      !ALLOCATE( fluxbcba(klon))
     2309      !ALLOCATE( fluxbc(klon))
     2310      !ALLOCATE( fluxombb(klon))
     2311      !ALLOCATE( fluxomff(klon))
     2312      !ALLOCATE( fluxomnff(klon))
     2313      !ALLOCATE( fluxomba(klon))
     2314      !ALLOCATE( fluxomnat(klon))
     2315      !ALLOCATE( fluxom(klon))
     2316      !ALLOCATE( fluxh2sff(klon))
     2317      !ALLOCATE( fluxh2snff(klon))
     2318      !ALLOCATE( fluxso2ff(klon))
     2319      !ALLOCATE( fluxso2nff(klon))
     2320      !ALLOCATE( fluxso2bb(klon))
     2321      !ALLOCATE( fluxso2vol(klon))
     2322      !ALLOCATE( fluxso2ba(klon))
     2323      !ALLOCATE( fluxso2(klon))
     2324      !ALLOCATE( fluxso4ff(klon))
     2325      !ALLOCATE( fluxso4nff(klon))
     2326      !ALLOCATE( fluxso4bb(klon))
     2327      !ALLOCATE( fluxso4ba(klon))
     2328      !ALLOCATE( fluxso4(klon))
     2329      !ALLOCATE( fluxdms(klon))
     2330      !ALLOCATE( fluxh2sbio(klon))
     2331      !ALLOCATE( fluxdustec(klon))
     2332      !ALLOCATE( fluxddfine(klon))
     2333      !ALLOCATE( fluxddcoa(klon))
     2334      !ALLOCATE( fluxddsco(klon))
     2335      !ALLOCATE( fluxdd(klon))
     2336      !ALLOCATE( fluxssfine(klon))
     2337      !ALLOCATE( fluxsscoa(klon))
     2338      !ALLOCATE( fluxss(klon))
     2339      !ALLOCATE( flux_sparam_ind(klon))
     2340      !ALLOCATE( flux_sparam_bb(klon))
     2341      !ALLOCATE( flux_sparam_ff(klon))
     2342      !ALLOCATE( flux_sparam_ddfine(klon))
     2343      !ALLOCATE( flux_sparam_ddcoa(klon))
     2344      !ALLOCATE( flux_sparam_ddsco(klon))
     2345      !ALLOCATE( flux_sparam_ssfine(klon))
     2346      !ALLOCATE( flux_sparam_sscoa(klon))
     2347      !ALLOCATE( u10m_ss(klon))
     2348      !ALLOCATE( v10m_ss(klon))
    20842349
    20852350
     
    21172382!       ALLOCATE(aod865_terra(klon))
    21182383
    2119       ALLOCATE( aod550_terra(klon)) 
    2120       ALLOCATE( aod550_tr2_terra(klon)) 
    2121       ALLOCATE( aod550_ss_terra(klon))   
    2122       ALLOCATE( aod550_dust_terra(klon))   
    2123       ALLOCATE( aod550_dustsco_terra(klon))   
    2124       ALLOCATE( aod670_terra(klon))   
    2125       ALLOCATE( aod670_tr2_terra(klon)) 
    2126       ALLOCATE( aod670_ss_terra(klon)) 
    2127       ALLOCATE( aod670_dust_terra(klon)) 
    2128       ALLOCATE( aod670_dustsco_terra(klon)) 
    2129       ALLOCATE( aod865_terra(klon))   
    2130       ALLOCATE( aod865_tr2_terra(klon)) 
    2131       ALLOCATE( aod865_ss_terra(klon)) 
    2132       ALLOCATE( aod865_dust_terra(klon)) 
    2133       ALLOCATE( aod865_dustsco_terra(klon)) 
    2134 
    2135       ALLOCATE( aod550_aqua(klon)) 
    2136       ALLOCATE( aod550_tr2_aqua(klon)) 
    2137       ALLOCATE( aod550_ss_aqua(klon))   
    2138       ALLOCATE( aod550_dust_aqua(klon))   
    2139       ALLOCATE( aod550_dustsco_aqua(klon))   
    2140       ALLOCATE( aod670_aqua(klon))   
    2141       ALLOCATE( aod670_tr2_aqua(klon)) 
    2142       ALLOCATE( aod670_ss_aqua(klon)) 
    2143       ALLOCATE( aod670_dust_aqua(klon)) 
    2144       ALLOCATE( aod670_dustsco_aqua(klon)) 
    2145       ALLOCATE( aod865_aqua(klon))   
    2146       ALLOCATE( aod865_tr2_aqua(klon)) 
    2147       ALLOCATE( aod865_ss_aqua(klon)) 
    2148       ALLOCATE( aod865_dust_aqua(klon)) 
    2149       ALLOCATE( aod865_dustsco_aqua(klon)) 
     2384      !ALLOCATE( aod550_terra(klon)) 
     2385      !ALLOCATE( aod550_tr2_terra(klon)) 
     2386      !ALLOCATE( aod550_ss_terra(klon))   
     2387      !ALLOCATE( aod550_dust_terra(klon))   
     2388      !ALLOCATE( aod550_dustsco_terra(klon))   
     2389      !ALLOCATE( aod670_terra(klon))   
     2390      !ALLOCATE( aod670_tr2_terra(klon)) 
     2391      !ALLOCATE( aod670_ss_terra(klon)) 
     2392      !ALLOCATE( aod670_dust_terra(klon)) 
     2393      !ALLOCATE( aod670_dustsco_terra(klon)) 
     2394      !ALLOCATE( aod865_terra(klon))   
     2395      !ALLOCATE( aod865_tr2_terra(klon)) 
     2396      !ALLOCATE( aod865_ss_terra(klon)) 
     2397      !ALLOCATE( aod865_dust_terra(klon)) 
     2398      !ALLOCATE( aod865_dustsco_terra(klon)) 
     2399
     2400      !ALLOCATE( aod550_aqua(klon)) 
     2401      !ALLOCATE( aod550_tr2_aqua(klon)) 
     2402      !ALLOCATE( aod550_ss_aqua(klon))   
     2403      !ALLOCATE( aod550_dust_aqua(klon))   
     2404      !ALLOCATE( aod550_dustsco_aqua(klon))   
     2405      !ALLOCATE( aod670_aqua(klon))   
     2406      !ALLOCATE( aod670_tr2_aqua(klon)) 
     2407      !ALLOCATE( aod670_ss_aqua(klon)) 
     2408      !ALLOCATE( aod670_dust_aqua(klon)) 
     2409      !ALLOCATE( aod670_dustsco_aqua(klon)) 
     2410      !ALLOCATE( aod865_aqua(klon))   
     2411      !ALLOCATE( aod865_tr2_aqua(klon)) 
     2412      !ALLOCATE( aod865_ss_aqua(klon)) 
     2413      !ALLOCATE( aod865_dust_aqua(klon)) 
     2414      !ALLOCATE( aod865_dustsco_aqua(klon)) 
    21502415 
    21512416
     
    36823947! choix du lessivage
    36833948      IF (iflag_lscav .EQ. 3 .OR. iflag_lscav .EQ. 4) THEN
    3684       print *,'JE iflag_lscav',iflag_lscav
    3685        DO it = 1, nbtr
     3949      !IF (.false.) THEN  ! test #DFB (Binta) sans lsc_scav_spl
     3950        print *,'JE iflag_lscav',iflag_lscav
     3951        DO it = 1, nbtr
    36863952
    36873953!       incloud scavenging and removal by large scale rain ! orig : ql_incl
     
    36943960!     .               t_seri,tr_seri,d_tr_insc,
    36953961!     .               d_tr_bcscav,d_tr_evapls,qPrls)
    3696        CALL lsc_scav_spl(pdtphys,it,iflag_lscav,ql_incl,prfl,psfl,  &
     3962          CALL lsc_scav_spl(pdtphys,it,iflag_lscav,ql_incl,prfl,psfl,  &
    36973963                    rneb,beta_fisrt, beta_v1,pplay,paprs,      &
    36983964                    t_seri,tr_seri,d_tr_insc,                  &
     
    37023968
    37033969!large scale scavenging tendency
    3704        DO k = 1, klev
    3705         DO i = 1, klon
    3706          d_tr_ls(i,k,it)=d_tr_insc(i,k,it)+d_tr_bcscav(i,k,it) &
     3970          DO k = 1, klev
     3971           DO i = 1, klon
     3972                d_tr_ls(i,k,it)=d_tr_insc(i,k,it)+d_tr_bcscav(i,k,it) &
    37073973                        +d_tr_evapls(i,k,it)
    3708          tr_seri(i,k,it)=tr_seri(i,k,it)+d_tr_ls(i,k,it)
    3709           tmp_var(i,k)=d_tr_ls(i,k,it)
    3710         ENDDO
    3711        ENDDO
    3712 
    3713        CALL kg_to_cm3(pplay,t_seri,tmp_var)
    3714          DO k=1,klev
    3715             DO i=1,klon
     3974                tr_seri(i,k,it)=tr_seri(i,k,it)+d_tr_ls(i,k,it)
     3975                         tmp_var(i,k)=d_tr_ls(i,k,it)
     3976           ENDDO
     3977          ENDDO
     3978
     3979          CALL kg_to_cm3(pplay,t_seri,tmp_var)
     3980
     3981          DO k=1,klev
     3982           DO i=1,klon
    37163983            his_dhkelsc(i,it)=his_dhkelsc(i,it)-tmp_var(i,k)    &
    37173984                     /RNAVO*masse(it)*1.e3*1.e6*zdz(i,k)/pdtphys
    37183985     
    3719             END DO
    3720          END DO
    3721 
    3722        END DO  !tr
     3986           END DO
     3987          END DO
     3988
     3989        END DO  !it=1,nbtr
     3990
    37233991      ELSE
    3724         his_dhkelsc(i,it)=0.0
    37253992        print *,'WARNING: NO lsc_scav, Please choose iflag_lscav=3 or 4'
    3726        ENDIF !iflag_lscav
     3993        DO it = 1, nbtr
     3994          DO i=1,klon
     3995            his_dhkelsc(i,it)=0.0
     3996          END DO  ! klon
     3997         END DO  !it=1,nbtr
     3998      ENDIF !iflag_lscav
    37273999
    37284000       print *,' AFTER lsc_scav '
     
    55995871      d_tr_th04(i,k)=0.
    56005872      d_tr_th05(i,k)=0.!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
     5873        ENDDO
     5874      ENDDO
     5875
     5876      IF(1==0) THEN
     5877      ! calcul in original trunk version; problem: budget not closed. Corrected in "ELSE"
     5878      DO i=1, klon
     5879        DO k=1,klev
     5880
    56015881      if(id_prec>0)        d_tr_cv01(i,k)   =d_tr_cv_o(i,k,id_prec)
    56025882      if(id_fine>0)        d_tr_cv02(i,k)   =d_tr_cv_o(i,k,id_fine)
     
    56415921        ENDDO
    56425922      ENDDO
    5643       IF(1==0) THEN
     5923      ELSE ! correction pour fermeture de bilan, par FH dans les simus de Binta pour Habib
     5924      DO i=1, klon
     5925        DO k=1,klev
     5926      if(id_prec>0)        d_tr_cv01(i,k)   =d_tr_cv(i,k,id_prec)/pdtphys
     5927      if(id_fine>0)        d_tr_cv02(i,k)   =d_tr_cv(i,k,id_fine)/pdtphys
     5928      if(id_coss>0)        d_tr_cv03(i,k)   =d_tr_cv(i,k,id_coss)/pdtphys
     5929      if(id_codu>0)        d_tr_cv04(i,k)   =d_tr_cv(i,k,id_codu)/pdtphys
     5930      if(id_scdu>0)        d_tr_cv05(i,k)   =d_tr_cv(i,k,id_scdu)/pdtphys
     5931      if(id_prec>0)        d_tr_trsp01(i,k) =d_tr_trsp(i,k,id_prec)/pdtphys
     5932      if(id_fine>0)        d_tr_trsp02(i,k) =d_tr_trsp(i,k,id_fine)/pdtphys
     5933      if(id_coss>0)        d_tr_trsp03(i,k) =d_tr_trsp(i,k,id_coss)/pdtphys
     5934      if(id_codu>0)        d_tr_trsp04(i,k) =d_tr_trsp(i,k,id_codu)/pdtphys
     5935      if(id_scdu>0)        d_tr_trsp05(i,k) =d_tr_trsp(i,k,id_scdu)/pdtphys
     5936      if(id_prec>0)        d_tr_sscav01(i,k)=d_tr_sscav(i,k,id_prec)/pdtphys
     5937      if(id_fine>0)        d_tr_sscav02(i,k)=d_tr_sscav(i,k,id_fine)/pdtphys
     5938      if(id_coss>0)        d_tr_sscav03(i,k)=d_tr_sscav(i,k,id_coss)/pdtphys
     5939      if(id_codu>0)        d_tr_sscav04(i,k)=d_tr_sscav(i,k,id_codu)/pdtphys
     5940      if(id_scdu>0)        d_tr_sscav05(i,k)=d_tr_sscav(i,k,id_scdu)/pdtphys
     5941      if(id_prec>0)        d_tr_sat01(i,k)  =d_tr_sat(i,k,id_prec)/pdtphys
     5942      if(id_fine>0)        d_tr_sat02(i,k)  =d_tr_sat(i,k,id_fine)/pdtphys
     5943      if(id_coss>0)        d_tr_sat03(i,k)  =d_tr_sat(i,k,id_coss)/pdtphys
     5944      if(id_codu>0)        d_tr_sat04(i,k)  =d_tr_sat(i,k,id_codu)/pdtphys
     5945      if(id_scdu>0)        d_tr_sat05(i,k)  =d_tr_sat(i,k,id_scdu)/pdtphys
     5946      if(id_prec>0)        d_tr_uscav01(i,k)=d_tr_uscav(i,k,id_prec)/pdtphys
     5947      if(id_fine>0)        d_tr_uscav02(i,k)=d_tr_uscav(i,k,id_fine)/pdtphys
     5948      if(id_coss>0)        d_tr_uscav03(i,k)=d_tr_uscav(i,k,id_coss)/pdtphys
     5949      if(id_codu>0)        d_tr_uscav04(i,k)=d_tr_uscav(i,k,id_codu)/pdtphys
     5950      if(id_scdu>0)        d_tr_uscav05(i,k)=d_tr_uscav(i,k,id_scdu)/pdtphys
     5951      if(id_prec>0)        d_tr_insc01(i,k)=d_tr_insc(i,k,id_prec)/pdtphys
     5952      if(id_fine>0)        d_tr_insc02(i,k)=d_tr_insc(i,k,id_fine)/pdtphys
     5953      if(id_coss>0)        d_tr_insc03(i,k)=d_tr_insc(i,k,id_coss)/pdtphys
     5954      if(id_codu>0)        d_tr_insc04(i,k)=d_tr_insc(i,k,id_codu)/pdtphys
     5955      if(id_scdu>0)        d_tr_insc05(i,k)=d_tr_insc(i,k,id_scdu)/pdtphys
     5956      if(id_prec>0)        d_tr_bcscav01(i,k)=d_tr_bcscav(i,k,id_prec)/pdtphys
     5957      if(id_fine>0)        d_tr_bcscav02(i,k)=d_tr_bcscav(i,k,id_fine)/pdtphys
     5958      if(id_coss>0)        d_tr_bcscav03(i,k)=d_tr_bcscav(i,k,id_coss)/pdtphys
     5959      if(id_codu>0)        d_tr_bcscav04(i,k)=d_tr_bcscav(i,k,id_codu)/pdtphys
     5960      if(id_scdu>0)        d_tr_bcscav05(i,k)=d_tr_bcscav(i,k,id_scdu)/pdtphys
     5961      if(id_prec>0)        d_tr_evapls01(i,k)=d_tr_evapls(i,k,id_prec)/pdtphys
     5962      if(id_fine>0)        d_tr_evapls02(i,k)=d_tr_evapls(i,k,id_fine)/pdtphys
     5963      if(id_coss>0)        d_tr_evapls03(i,k)=d_tr_evapls(i,k,id_coss)/pdtphys
     5964      if(id_codu>0)        d_tr_evapls04(i,k)=d_tr_evapls(i,k,id_codu)/pdtphys
     5965      if(id_scdu>0)        d_tr_evapls05(i,k)=d_tr_evapls(i,k,id_scdu)/pdtphys
     5966        ENDDO
     5967      ENDDO
     5968      ENDIF
     5969
     5970      IF(1==0) THEN  ! This "if" is as in original trunk
    56445971      DO i=1, klon
    56455972        DO k=1,klev
Note: See TracChangeset for help on using the changeset viewer.