Changeset 1221 for LMDZ4


Ignore:
Timestamp:
Aug 5, 2009, 7:16:46 PM (15 years ago)
Author:
jghattas
Message:

Modification pour les aerosols sels marin.

Nicolas Yan, Yves Balkanski LSCE

Location:
LMDZ4/branches/LMDZ4-dev/libf/phylmd
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • LMDZ4/branches/LMDZ4-dev/libf/phylmd/aero_mod.F90

    r1183 r1221  
    99  ! Identification number used in aeropt_2bands and aeropt_5wv
    1010  ! corresponding to naero_tot
    11   INTEGER, PARAMETER :: id_SSSSM    = 1
    12   INTEGER, PARAMETER :: id_CSSSM    = 2
    13   INTEGER, PARAMETER :: id_ASSSM    = 3
    14   INTEGER, PARAMETER :: id_ASBCM    = 4
    15   INTEGER, PARAMETER :: id_ASPOMM   = 5
    16   INTEGER, PARAMETER :: id_ASSO4M   = 6
    17   INTEGER, PARAMETER :: id_CSSO4M   = 7
     11  INTEGER, PARAMETER :: id_ASBCM    = 1
     12  INTEGER, PARAMETER :: id_ASPOMM   = 2
     13  INTEGER, PARAMETER :: id_ASSO4M   = 3
     14  INTEGER, PARAMETER :: id_CSSO4M   = 4
     15  INTEGER, PARAMETER :: id_SSSSM    = 5
     16  INTEGER, PARAMETER :: id_CSSSM    = 6
     17  INTEGER, PARAMETER :: id_ASSSM    = 7
    1818  INTEGER, PARAMETER :: id_CIDUSTM  = 8
    1919  INTEGER, PARAMETER :: id_AIBCM    = 9
     
    2121
    2222  ! Total number of aerosols actually used in LMDZ
    23   ! 1 =  SSSSM || CSSSM
    24   ! 2 =  ASSSM
    25   ! 3 =  ASBCM
    26   ! 4 =  ASPOMM
    27   ! 5 =  ASSO4M || CSSO4M   
    28   ! 6 =  CIDUSTM
    29   ! 7 =  AIBCM
    30   ! 8 =  AIPOMM
    31   INTEGER, PARAMETER :: naero_spc = 8
     23  ! 1 =  ASBCM
     24  ! 2 =  ASPOMM
     25  ! 3 =  ASSO4M ( = SO4)
     26  ! 4 =  CSSO4M
     27  ! 5 =  SSSSM
     28  ! 6 =  CSSSM
     29  ! 7 =  ASSSM
     30  ! 8 =  CIDUSTM
     31  ! 9 =  AIBCM
     32  !10 =  AIPOMM
     33  INTEGER, PARAMETER :: naero_spc = 10
    3234
    3335  ! Corresponding names for the aerosols
    3436  CHARACTER(len=7),DIMENSION(naero_spc) :: name_aero=(/&
    35        "CSSSM  ", &
    36        "ASSSM  ", &
    3737       "ASBCM  ", &
    3838       "ASPOMM ", &
    3939       "SO4    ", &
     40       "CSSO4M ", &
     41       "SSSSM  ", &
     42       "CSSSM  ", &
     43       "ASSSM  ", &
    4044       "CIDUSTM", &
    4145       "AIBCM  ", &
    4246       "AIPOMM " /)
     47
    4348
    4449  ! Number of aerosol groups
  • LMDZ4/branches/LMDZ4-dev/libf/phylmd/aeropt_2bands.F90

    r1183 r1221  
    33     tau_allaer, piz_allaer, &
    44     cg_allaer, fractnat_allaer, &
    5      flag_aerosol, pplay, t_seri)
     5     flag_aerosol, pplay, t_seri, presnivs)
    66
    77  USE dimphy
     
    2121  ! Input arguments:
    2222  !
    23   REAL,                           INTENT(in)  :: pdel(KLON,KLEV)
     23  REAL, DIMENSION(klon,klev),     INTENT(in)  :: pdel
    2424  REAL,                           INTENT(in)  :: delt
    2525  REAL, DIMENSION(klon,klev,naero_spc),   INTENT(in)  :: m_allaer
    26   REAL,                           INTENT(in)  :: RHcl(KLON,KLEV)     ! humidite relative ciel clair
     26  REAL, DIMENSION(klon,klev),     INTENT(in)  :: RHcl       ! humidite relative ciel clair
    2727  REAL, DIMENSION(klon,naero_tot),INTENT(in)  :: fractnat_allaer
    2828  INTEGER,                        INTENT(in)  :: flag_aerosol
    29   REAL,                           INTENT(in)  :: pplay(klon,klev)
    30   REAL,                           INTENT(in)  :: t_seri(klon,klev)
    31 
     29  REAL, DIMENSION(klon,klev),     INTENT(in)  :: pplay
     30  REAL, DIMENSION(klon,klev),     INTENT(in)  :: t_seri
     31  REAL, DIMENSION(klev),          INTENT(in)  :: presnivs
    3232  !
    3333  ! Output arguments:
     
    4545  LOGICAL ::  soluble
    4646  INTEGER :: i, k, inu, m, mrfspecies
    47   INTEGER :: spsol, spinsol
    48   INTEGER :: RH_num, nbre_RH, nbsol_compaer, nbinsol_compaer
    49 
    50   PARAMETER (nbre_RH=12)
    51   PARAMETER (nbsol_compaer=5)        ! 1- Seasalt AS; 2- Sesalt CS; 3- BC soluble; 4- POM soluble; 5- SO4.
    52   PARAMETER (nbinsol_compaer=3)      ! 1- Dust; 2- BC insoluble; 3- POM insoluble
     47  INTEGER :: spsol, spinsol, spss
     48  INTEGER :: RH_num
     49  INTEGER, PARAMETER :: nb_level=19 ! number of vertical levels in DATA
     50
     51  INTEGER, PARAMETER :: nbre_RH=12
     52  INTEGER, PARAMETER :: nbsol_compaer=3    ! 1- BC soluble; 2- POM soluble; 3- SO4.
     53  INTEGER, PARAMETER :: nbinsol_compaer=3  ! 1- Dust; 2- BC insoluble; 3- POM insoluble
     54  LOGICAL, SAVE :: firstcall=.TRUE.
     55
     56! Coefficient optiques sur 19 niveaux
     57  REAL, DIMENSION(nb_level) :: presnivs_19  ! Pression milieux couche pour 19 niveaux (nb_level)
     58  REAL, DIMENSION(nb_level) :: A1_ASSSM_b1_19, A2_ASSSM_b1_19, A3_ASSSM_b1_19,&
     59          B1_ASSSM_b1_19, B2_ASSSM_b1_19, C1_ASSSM_b1_19, C2_ASSSM_b1_19,&
     60          A1_CSSSM_b1_19, A2_CSSSM_b1_19, A3_CSSSM_b1_19,&
     61          B1_CSSSM_b1_19, B2_CSSSM_b1_19, C1_CSSSM_b1_19, C2_CSSSM_b1_19,&
     62          A1_SSSSM_b1_19, A2_SSSSM_b1_19, A3_SSSSM_b1_19,&
     63          B1_SSSSM_b1_19, B2_SSSSM_b1_19, C1_SSSSM_b1_19, C2_SSSSM_b1_19,&
     64          A1_ASSSM_b2_19, A2_ASSSM_b2_19, A3_ASSSM_b2_19,&
     65          B1_ASSSM_b2_19, B2_ASSSM_b2_19, C1_ASSSM_b2_19, C2_ASSSM_b2_19,&
     66          A1_CSSSM_b2_19, A2_CSSSM_b2_19, A3_CSSSM_b2_19,&
     67          B1_CSSSM_b2_19, B2_CSSSM_b2_19, C1_CSSSM_b2_19, C2_CSSSM_b2_19,&
     68          A1_SSSSM_b2_19, A2_SSSSM_b2_19, A3_SSSSM_b2_19,&
     69          B1_SSSSM_b2_19, B2_SSSSM_b2_19, C1_SSSSM_b2_19, C2_SSSSM_b2_19
     70
     71! Coefficient optiques interpole sur le nombre de niveau du modele
     72  REAL, DIMENSION(klev) :: A1_ASSSM_b1, A2_ASSSM_b1, A3_ASSSM_b1,&
     73          B1_ASSSM_b1, B2_ASSSM_b1, C1_ASSSM_b1, C2_ASSSM_b1,&
     74          A1_CSSSM_b1, A2_CSSSM_b1, A3_CSSSM_b1,&
     75          B1_CSSSM_b1, B2_CSSSM_b1, C1_CSSSM_b1, C2_CSSSM_b1,&
     76          A1_SSSSM_b1, A2_SSSSM_b1, A3_SSSSM_b1,&
     77          B1_SSSSM_b1, B2_SSSSM_b1, C1_SSSSM_b1, C2_SSSSM_b1,&
     78          A1_ASSSM_b2, A2_ASSSM_b2, A3_ASSSM_b2,&
     79          B1_ASSSM_b2, B2_ASSSM_b2, C1_ASSSM_b2, C2_ASSSM_b2,&
     80          A1_CSSSM_b2, A2_CSSSM_b2, A3_CSSSM_b2,&
     81          B1_CSSSM_b2, B2_CSSSM_b2, C1_CSSSM_b2, C2_CSSSM_b2,&
     82          A1_SSSSM_b2, A2_SSSSM_b2, A3_SSSSM_b2,&
     83          B1_SSSSM_b2, B2_SSSSM_b2, C1_SSSSM_b2, C2_SSSSM_b2
     84
    5385  REAL:: RH_tab(nbre_RH)
    54   REAL:: RH_MAX, DELTA, rh
     86  REAL, PARAMETER :: RH_MAX=95.
     87  REAL:: DELTA, rh, H
    5588  REAL:: tau_ae2b_int(KLON,KLEV,nbands)   ! Intermediate computation of epaisseur optique aerosol
    5689  REAL:: piz_ae2b_int(KLON,KLEV,nbands)   ! Intermediate computation of Single scattering albedo
    5790  REAL:: cg_ae2b_int(KLON,KLEV,nbands)    ! Intermediate computation of Assymetry parameter
    58   PARAMETER (RH_MAX=95.)
    5991  DATA RH_tab/0.,10.,20.,30.,40.,50.,60.,70.,80.,85.,90.,95./
    6092  REAL :: zrho
     
    77109
    78110
     111  DATA presnivs_19/&
     112       100426.5,  98327.6, 95346.5, 90966.8, 84776.9, &
     113       76536.5,   66292.2, 54559.3, 42501.8, 31806, &
     114       23787.5,   18252.7, 13996,   10320.8, 7191.1, &
     115       4661.7,    2732.9,  1345.6,  388.2/ 
     116
     117
     118!***********************BAND 1***********************************
     119!ACCUMULATION MODE
     120  DATA A1_ASSSM_b1_19/ 4.373E+00,  4.361E+00,  4.331E+00, &
     121                    4.278E+00,  4.223E+00,  4.162E+00, &
     122                    4.103E+00,  4.035E+00,  3.962E+00, &
     123                    3.904E+00,  3.871E+00,  3.847E+00, &
     124                    3.824E+00,  3.780E+00,  3.646E+00, &
     125                    3.448E+00,  3.179E+00,  2.855E+00,  2.630E+00/
     126  DATA A2_ASSSM_b1_19/ 2.496E+00,  2.489E+00,  2.472E+00, &
     127                    2.442E+00,  2.411E+00,  2.376E+00, &
     128                    2.342E+00,  2.303E+00,  2.261E+00, &
     129                    2.228E+00,  2.210E+00,  2.196E+00, &
     130                    2.183E+00,  2.158E+00,  2.081E+00, &
     131                    1.968E+00,  1.814E+00,  1.630E+00,  1.501E+00/
     132  DATA A3_ASSSM_b1_19/-4.688E-02, -4.676E-02, -4.644E-02, &
     133                   -4.587E-02, -4.528E-02, -4.463E-02, &
     134                   -4.399E-02, -4.326E-02, -4.248E-02, &
     135                   -4.186E-02, -4.151E-02, -4.125E-02, &
     136                   -4.100E-02, -4.053E-02, -3.910E-02, &
     137                   -3.697E-02, -3.408E-02, -3.061E-02, -2.819E-02/
     138  DATA B1_ASSSM_b1_19/ 1.165E-08,  1.145E-08,  1.097E-08, &
     139                    1.012E-08,  9.233E-09,  8.261E-09, &
     140                    7.297E-09,  6.201E-09,  5.026E-09, &
     141                    4.098E-09,  3.567E-09,  3.187E-09, &
     142                    2.807E-09,  2.291E-09,  2.075E-09, &
     143                    1.756E-09,  1.322E-09,  8.011E-10, 4.379E-10/
     144  DATA B2_ASSSM_b1_19/ 2.193E-08,  2.192E-08,  2.187E-08, &
     145                    2.179E-08,  2.171E-08,  2.162E-08, &
     146                    2.153E-08,  2.143E-08,  2.132E-08, &
     147                    2.124E-08,  2.119E-08,  2.115E-08, &
     148                    2.112E-08,  2.106E-08,  2.100E-08, &
     149                    2.090E-08,  2.077E-08,  2.061E-08,  2.049E-08/
     150  DATA C1_ASSSM_b1_19/ 7.365E-01,  7.365E-01,  7.365E-01, &
     151                    7.364E-01,  7.363E-01,  7.362E-01, &
     152                    7.361E-01,  7.359E-01,  7.358E-01, &
     153                    7.357E-01,  7.356E-01,  7.356E-01, &
     154                    7.356E-01,  7.355E-01,  7.354E-01, &
     155                    7.352E-01,  7.350E-01,  7.347E-01,  7.345E-01/
     156  DATA C2_ASSSM_b1_19/ 5.833E-02,  5.835E-02,  5.841E-02, &
     157                    5.850E-02,  5.859E-02,  5.870E-02, &
     158                    5.880E-02,  5.891E-02,  5.904E-02, &
     159                    5.914E-02,  5.920E-02,  5.924E-02, &
     160                    5.928E-02,  5.934E-02,  5.944E-02, &
     161                    5.959E-02,  5.979E-02,  6.003E-02,  6.020E-02/
     162!COARSE MODE
     163  DATA A1_CSSSM_b1_19/ 7.403E-01,  7.422E-01,  7.626E-01, &
     164                    8.019E-01,  8.270E-01,  8.527E-01, &
     165                    8.702E-01,  8.806E-01,  8.937E-01, &
     166                    9.489E-01,  1.030E+00,  1.105E+00, &
     167                    1.199E+00,  1.357E+00,  1.660E+00, &
     168                    2.540E+00,  4.421E+00,  2.151E+00,  9.518E-01/
     169  DATA A2_CSSSM_b1_19/ 4.522E-01,  4.532E-01,  4.644E-01, &
     170                    4.859E-01,  4.996E-01,  5.137E-01, &
     171                    5.233E-01,  5.290E-01,  5.361E-01, &
     172                    5.655E-01,  6.085E-01,  6.483E-01, &
     173                    6.979E-01,  7.819E-01,  9.488E-01, &
     174                    1.450E+00,  2.523E+00,  1.228E+00,  5.433E-01/
     175  DATA A3_CSSSM_b1_19/-8.516E-03, -8.535E-03, -8.744E-03, &
     176                   -9.148E-03, -9.406E-03, -9.668E-03, &
     177                   -9.848E-03, -9.955E-03, -1.009E-02, &
     178                   -1.064E-02, -1.145E-02, -1.219E-02, &
     179                   -1.312E-02, -1.470E-02, -1.783E-02, &
     180                   -2.724E-02, -4.740E-02, -2.306E-02, -1.021E-02/
     181  DATA B1_CSSSM_b1_19/ 2.535E-07,  2.530E-07,  2.479E-07, &
     182                    2.380E-07,  2.317E-07,  2.252E-07, &
     183                    2.208E-07,  2.182E-07,  2.149E-07, &
     184                    2.051E-07,  1.912E-07,  1.784E-07, &
     185                    1.624E-07,  1.353E-07,  1.012E-07, &
     186                    6.016E-08,  2.102E-08,  0.000E+00,  0.000E+00/
     187  DATA B2_CSSSM_b1_19/ 1.221E-07,  1.217E-07,  1.179E-07, &
     188                    1.104E-07,  1.056E-07,  1.008E-07, &
     189                    9.744E-08,  9.546E-08,  9.299E-08, &
     190                    8.807E-08,  8.150E-08,  7.544E-08, &
     191                    6.786E-08,  5.504E-08,  4.080E-08, &
     192                    2.960E-08,  2.300E-08,  2.030E-08,  1.997E-08/
     193  DATA C1_CSSSM_b1_19/ 7.659E-01,  7.658E-01,  7.652E-01, &
     194                    7.639E-01,  7.631E-01,  7.623E-01, &
     195                    7.618E-01,  7.614E-01,  7.610E-01, &
     196                    7.598E-01,  7.581E-01,  7.566E-01, &
     197                    7.546E-01,  7.513E-01,  7.472E-01, &
     198                    7.423E-01,  7.376E-01,  7.342E-01,  7.334E-01/
     199  DATA C2_CSSSM_b1_19/ 3.691E-02,  3.694E-02,  3.729E-02, &
     200                    3.796E-02,  3.839E-02,  3.883E-02, &
     201                    3.913E-02,  3.931E-02,  3.953E-02, &
     202                    4.035E-02,  4.153E-02,  4.263E-02, &
     203                    4.400E-02,  4.631E-02,  4.933E-02, &
     204                    5.331E-02,  5.734E-02,  6.053E-02,  6.128E-02/
     205!SUPER COARSE MODE
     206  DATA A1_SSSSM_b1_19/ 2.836E-01,  2.876E-01,  2.563E-01, &
     207                    2.414E-01,  2.541E-01,  2.546E-01, &
     208                    2.572E-01,  2.638E-01,  2.781E-01, &
     209                    3.167E-01,  4.209E-01,  5.286E-01, &
     210                    6.959E-01,  9.233E-01,  1.282E+00, &
     211                    1.836E+00,  2.981E+00,  4.355E+00,  4.059E+00/
     212  DATA A2_SSSSM_b1_19/ 1.608E-01,  1.651E-01,  1.577E-01, &
     213                    1.587E-01,  1.686E-01,  1.690E-01, &
     214                    1.711E-01,  1.762E-01,  1.874E-01, &
     215                    2.138E-01,  2.751E-01,  3.363E-01, &
     216                    4.279E-01,  5.519E-01,  7.421E-01, &
     217                    1.048E+00,  1.702E+00,  2.485E+00,  2.317E+00/
     218  DATA A3_SSSSM_b1_19/-3.025E-03, -3.111E-03, -2.981E-03, &
     219                   -3.005E-03, -3.193E-03, -3.200E-03, &
     220                   -3.239E-03, -3.336E-03, -3.548E-03, &
     221                   -4.047E-03, -5.196E-03, -6.345E-03, &
     222                   -8.061E-03, -1.038E-02, -1.395E-02, &
     223                   -1.970E-02, -3.197E-02, -4.669E-02, -4.352E-02/
     224  DATA B1_SSSSM_b1_19/ 6.759E-07,  6.246E-07,  5.542E-07, &
     225                    4.953E-07,  4.746E-07,  4.738E-07, &
     226                    4.695E-07,  4.588E-07,  4.354E-07, &
     227                    3.947E-07,  3.461E-07,  3.067E-07, &
     228                    2.646E-07,  2.095E-07,  1.481E-07, &
     229                    9.024E-08,  5.747E-08,  2.384E-08,  6.599E-09/
     230  DATA B2_SSSSM_b1_19/ 5.977E-07,  5.390E-07,  4.468E-07, &
     231                    3.696E-07,  3.443E-07,  3.433E-07, &
     232                    3.380E-07,  3.249E-07,  2.962E-07, &
     233                    2.483E-07,  1.989E-07,  1.623E-07, &
     234                    1.305E-07,  9.015E-08,  6.111E-08, &
     235                    3.761E-08,  2.903E-08,  2.337E-08,  2.147E-08/
     236  DATA C1_SSSSM_b1_19/ 8.120E-01,  8.084E-01,  8.016E-01, &
     237                    7.953E-01,  7.929E-01,  7.928E-01, &
     238                    7.923E-01,  7.910E-01,  7.882E-01, &
     239                    7.834E-01,  7.774E-01,  7.725E-01, &
     240                    7.673E-01,  7.604E-01,  7.529E-01, &
     241                    7.458E-01,  7.419E-01,  7.379E-01,  7.360E-01/
     242  DATA C2_SSSSM_b1_19/ 2.388E-02,  2.392E-02,  2.457E-02,  2.552E-02, &
     243                    2.615E-02,  2.618E-02,  2.631E-02,  2.663E-02, &
     244                    2.735E-02,  2.875E-02,  3.113E-02,  3.330E-02, &
     245                    3.615E-02,  3.997E-02,  4.521E-02,  5.038E-02, &
     246                    5.358E-02,  5.705E-02,  5.887E-02/
     247!*********************BAND 2************************************************
     248!ACCUMULATION MODE
     249  DATA A1_ASSSM_b2_19/1.256E+00, 1.246E+00, 1.226E+00, 1.187E+00, 1.148E+00, &
     250                   1.105E+00, 1.062E+00, 1.014E+00, 9.616E-01, 9.205E-01, &
     251                   8.970E-01, 8.800E-01, 8.632E-01, 8.371E-01, 7.943E-01, &
     252                   7.308E-01, 6.448E-01, 5.414E-01, 4.693E-01/
     253  DATA A2_ASSSM_b2_19/5.321E-01, 5.284E-01, 5.196E-01, 5.036E-01, 4.872E-01, &
     254                   4.691E-01, 4.512E-01, 4.308E-01, 4.089E-01, 3.917E-01, &
     255                   3.818E-01, 3.747E-01, 3.676E-01, 3.567E-01, 3.385E-01, &
     256                   3.116E-01, 2.751E-01, 2.312E-01, 2.006E-01/
     257  DATA A3_ASSSM_b2_19/-1.053E-02, -1.046E-02, -1.028E-02, -9.964E-03, -9.637E-03, &
     258                   -9.279E-03, -8.923E-03, -8.518E-03, -8.084E-03, -7.741E-03, &
     259                   -7.545E-03, -7.405E-03, -7.265E-03, -7.048E-03, -6.687E-03, &
     260                   -6.156E-03, -5.433E-03, -4.565E-03, -3.961E-03/
     261  DATA B1_ASSSM_b2_19/1.560E-02, 1.560E-02, 1.561E-02, 1.565E-02, 1.568E-02, &
     262                   1.572E-02, 1.576E-02, 1.580E-02, 1.584E-02, 1.588E-02, &
     263                   1.590E-02, 1.592E-02, 1.593E-02, 1.595E-02, 1.599E-02, &
     264                   1.605E-02, 1.612E-02, 1.621E-02, 1.627E-02/
     265  DATA B2_ASSSM_b2_19/1.073E-02, 1.074E-02, 1.076E-02, 1.079E-02, 1.082E-02, &
     266                   1.085E-02, 1.089E-02, 1.093E-02, 1.097E-02, 1.100E-02, &
     267                   1.102E-02, 1.103E-02, 1.105E-02, 1.107E-02, 1.110E-02, &
     268                   1.115E-02, 1.122E-02, 1.130E-02, 1.136E-02/
     269  DATA C1_ASSSM_b2_19/7.429E-01, 7.429E-01, 7.429E-01, 7.427E-01, 7.427E-01, &
     270                   7.424E-01, 7.423E-01, 7.422E-01, 7.421E-01, 7.420E-01, &
     271                   7.419E-01, 7.419E-01, 7.418E-01, 7.417E-01, 7.416E-01, &
     272                   7.415E-01, 7.413E-01, 7.409E-01, 7.408E-01/
     273  DATA C2_ASSSM_b2_19/3.031E-02, 3.028E-02, 3.022E-02, 3.011E-02, 2.999E-02, &
     274                   2.986E-02, 2.973E-02, 2.959E-02, 2.943E-02, 2.931E-02, &
     275                   2.924E-02, 2.919E-02, 2.913E-02, 2.905E-02, 2.893E-02, &
     276                   2.874E-02, 2.847E-02, 2.817E-02, 2.795E-02/
     277!COARSE MODE
     278  DATA A1_CSSSM_b2_19/7.061E-01, 7.074E-01, 7.211E-01, 7.476E-01, 7.647E-01, &
     279                   7.817E-01, 7.937E-01, 8.007E-01, 8.095E-01, 8.436E-01, &
     280                   8.932E-01, 9.390E-01, 9.963E-01, 1.093E+00, 1.256E+00, &
     281                   1.668E+00, 1.581E+00, 3.457E-01, 1.331E-01/
     282  DATA A2_CSSSM_b2_19/3.617E-01, 3.621E-01, 3.662E-01, 3.739E-01, 3.789E-01, &
     283                   3.840E-01, 3.874E-01, 3.895E-01, 3.921E-01, 4.001E-01, &
     284                   4.117E-01, 4.223E-01, 4.356E-01, 4.581E-01, 5.099E-01, &
     285                   6.831E-01, 6.663E-01, 1.481E-01, 5.703E-02/
     286  DATA A3_CSSSM_b2_19/-6.953E-03, -6.961E-03, -7.048E-03, -7.216E-03, -7.322E-03, &
     287                   -7.431E-03, -7.506E-03, -7.551E-03, -7.606E-03, -7.791E-03, &
     288                   -8.059E-03, -8.305E-03, -8.613E-03, -9.134E-03, -1.023E-02, &
     289                   -1.365E-02, -1.320E-02, -2.922E-03, -1.125E-03/
     290  DATA B1_CSSSM_b2_19/1.007E-02, 1.008E-02, 1.012E-02, 1.019E-02, 1.024E-02, &
     291                   1.029E-02, 1.033E-02, 1.035E-02, 1.038E-02, 1.056E-02, &
     292                   1.083E-02, 1.109E-02, 1.140E-02, 1.194E-02, 1.270E-02, &
     293                   1.390E-02, 1.524E-02, 1.639E-02, 1.667E-02/
     294  DATA B2_CSSSM_b2_19/4.675E-03, 4.682E-03, 4.760E-03, 4.908E-03, 5.004E-03, &
     295                   5.102E-03, 5.168E-03, 5.207E-03, 5.256E-03, 5.474E-03, &
     296                   5.793E-03, 6.089E-03, 6.457E-03, 7.081E-03, 7.923E-03, &
     297                   9.127E-03, 1.041E-02, 1.147E-02, 1.173E-02/
     298  DATA C1_CSSSM_b2_19/7.571E-01, 7.571E-01, 7.570E-01, 7.568E-01, 7.565E-01, &
     299                   7.564E-01, 7.563E-01, 7.562E-01, 7.562E-01, 7.557E-01, &
     300                   7.552E-01, 7.545E-01, 7.539E-01, 7.527E-01, 7.509E-01, &
     301                   7.478E-01, 7.440E-01, 7.404E-01, 7.394E-01/
     302  DATA C2_CSSSM_b2_19/4.464E-02, 4.465E-02, 4.468E-02, 4.474E-02, 4.477E-02, &
     303                   4.480E-02, 4.482E-02, 4.484E-02, 4.486E-02, 4.448E-02, &
     304                   4.389E-02, 4.334E-02, 4.264E-02, 4.148E-02, 3.957E-02, &
     305                   3.588E-02, 3.149E-02, 2.751E-02, 2.650E-02/
     306!SUPER COARSE MODE
     307  DATA A1_SSSSM_b2_19/2.357E-01, 2.490E-01, 2.666E-01, 2.920E-01, 3.120E-01, &
     308                   3.128E-01, 3.169E-01, 3.272E-01, 3.498E-01, 3.960E-01, &
     309                   4.822E-01, 5.634E-01, 6.763E-01, 8.278E-01, 1.047E+00, &
     310                   1.340E+00, 1.927E+00, 1.648E+00, 1.031E+00/
     311  DATA A2_SSSSM_b2_19/1.219E-01, 1.337E-01, 1.633E-01, 1.929E-01, 2.057E-01, &
     312                   2.062E-01, 2.089E-01, 2.155E-01, 2.300E-01, 2.560E-01, &
     313                   2.908E-01, 3.199E-01, 3.530E-01, 3.965E-01, 4.475E-01, &
     314                   5.443E-01, 7.943E-01, 6.928E-01, 4.381E-01/
     315  DATA A3_SSSSM_b2_19/-2.387E-03, -2.599E-03, -3.092E-03, -3.599E-03, -3.832E-03, &
     316                   -3.842E-03, -3.890E-03, -4.012E-03, -4.276E-03, -4.763E-03, &
     317                   -5.455E-03, -6.051E-03, -6.763E-03, -7.708E-03, -8.887E-03, &
     318                   -1.091E-02, -1.585E-02, -1.373E-02, -8.665E-03/
     319  DATA B1_SSSSM_b2_19/1.260E-02, 1.211E-02, 1.126E-02, 1.056E-02, 1.038E-02, &
     320                   1.037E-02, 1.033E-02, 1.023E-02, 1.002E-02, 9.717E-03, &
     321                   9.613E-03, 9.652E-03, 9.983E-03, 1.047E-02, 1.168E-02, &
     322                   1.301E-02, 1.399E-02, 1.514E-02, 1.578E-02/
     323  DATA B2_SSSSM_b2_19/2.336E-03, 2.419E-03, 2.506E-03, 2.610E-03, 2.690E-03, &
     324                   2.694E-03, 2.711E-03, 2.752E-03, 2.844E-03, 3.043E-03, &
     325                   3.455E-03, 3.871E-03, 4.507E-03, 5.373E-03, 6.786E-03, &
     326                   8.238E-03, 9.208E-03, 1.032E-02, 1.091E-02/
     327  DATA C1_SSSSM_b2_19/7.832E-01, 7.787E-01, 7.721E-01, 7.670E-01, 7.657E-01, &
     328                   7.657E-01, 7.654E-01, 7.648E-01, 7.634E-01, 7.613E-01, &
     329                   7.596E-01, 7.585E-01, 7.574E-01, 7.560E-01, 7.533E-01, &
     330                   7.502E-01, 7.476E-01, 7.443E-01, 7.423E-01/
     331  DATA C2_SSSSM_b2_19/3.144E-02, 3.268E-02, 3.515E-02, 3.748E-02, 3.837E-02, &
     332                   3.840E-02, 3.860E-02, 3.906E-02, 4.006E-02, 4.173E-02, &
     333                   4.338E-02, 4.435E-02, 4.459E-02, 4.467E-02, 4.202E-02, &
     334                   3.864E-02, 3.559E-02, 3.183E-02, 2.964E-02/
     335!***************************************************************************
     336
    79337  spsol = 0
    80338  spinsol = 0
    81 
     339  spss = 0
    82340
    83341  DATA alpha_aers_2bands/  &
    84        ! seasalt soluble Coarse Soluble (CS)
    85        0.5090,0.6554,0.7129,0.7767,0.8529,1.2728, &
    86        1.3820,1.5792,1.9173,2.2002,2.7173,4.1487, &
    87        0.5167,0.6613,0.7221,0.7868,0.8622,1.3027, &
    88        1.4227,1.6317,1.9887,2.2883,2.8356,4.3453, &
    89        ! seasalt soluble Accumulation Soluble (AS)
    90        4.125, 4.674, 5.005, 5.434, 5.985, 10.006, &
    91        11.175,13.376,17.264,20.540,26.604, 42.349,&
    92        4.187, 3.939, 3.919, 3.937, 3.995,  5.078, &
    93        5.511, 6.434, 8.317,10.152,14.024, 26.537, &
    94342       ! bc soluble
    95343       7.675,7.675,7.675,7.675,7.675,7.675,    &
     
    119367
    120368  DATA cg_aers_2bands/ &
    121        ! seasalt Coarse soluble (CS)
    122        0.727, 0.747, 0.755, 0.761, 0.770, 0.788, &
    123        0.792, 0.799, 0.805, 0.809, 0.815, 0.826, &
    124        0.717, 0.738, 0.745, 0.752, 0.761, 0.779, &
    125        0.781, 0.786, 0.793, 0.797, 0.803, 0.813, &
    126        ! Sesalt Accumulation Soluble (AS)
    127        0.727, 0.741, 0.748, 0.754, 0.761, 0.782, &
    128        0.787, 0.792, 0.797, 0.799, 0.801, 0.799, &
    129        0.606, 0.645, 0.658, 0.669, 0.681, 0.726, &
    130        0.734, 0.746, 0.761, 0.770, 0.782, 0.798, &
    131369       ! bc soluble
    132370       .612, .612, .612, .612, .612, .612, &
     
    155393
    156394  DATA piz_aers_2bands/&
    157        ! seasalt Coarse soluble (CS)
    158        1.000,1.000,1.000,1.000,1.000,1.000, &
    159        1.000,1.000,1.000,1.000,1.000,1.000, &
    160        0.992,0.989,0.987,0.986,0.986,0.980, &
    161        0.980,0.978,0.976,0.976,0.974,0.971, &
    162        ! seasalt Accumulation Soluble (AS)
    163        1.000, 1.000, 1.000, 1.000, 1.000, 1.000, &
    164        1.000, 1.000, 1.000, 1.000, 1.000, 1.000, &
    165        0.970, 0.975, 0.976, 0.977, 0.978, 0.982, &
    166        0.982, 0.983, 0.984, 0.984, 0.985, 0.985, &
    167395       ! bc soluble
    168396       .445, .445, .445, .445, .445, .445, &
     
    191419
    192420
     421! Interpolation des coefficients optiques de 19 niveaux vers le nombre des niveaux du model
     422  IF (firstcall) THEN
     423     firstcall=.FALSE.
     424     
     425! bande 1
     426     CALL pres2lev(A1_ASSSM_b1_19, A1_ASSSM_b1, nb_level, klev, presnivs_19, presnivs, 1, 1, .FALSE.)
     427     CALL pres2lev(A2_ASSSM_b1_19, A2_ASSSM_b1, nb_level, klev, presnivs_19, presnivs, 1, 1, .FALSE.)
     428     CALL pres2lev(A3_ASSSM_b1_19, A3_ASSSM_b1, nb_level, klev, presnivs_19, presnivs, 1, 1, .FALSE.)
     429     CALL pres2lev(B1_ASSSM_b1_19, B1_ASSSM_b1, nb_level, klev, presnivs_19, presnivs, 1, 1, .FALSE.)
     430     CALL pres2lev(B2_ASSSM_b1_19, B2_ASSSM_b1, nb_level, klev, presnivs_19, presnivs, 1, 1, .FALSE.)
     431     CALL pres2lev(C1_ASSSM_b1_19, C1_ASSSM_b1, nb_level, klev, presnivs_19, presnivs, 1, 1, .FALSE.)
     432     CALL pres2lev(C2_ASSSM_b1_19, C2_ASSSM_b1, nb_level, klev, presnivs_19, presnivs, 1, 1, .FALSE.)
     433
     434     CALL pres2lev(A1_CSSSM_b1_19, A1_CSSSM_b1, nb_level, klev, presnivs_19, presnivs, 1, 1, .FALSE.)
     435     CALL pres2lev(A2_CSSSM_b1_19, A2_CSSSM_b1, nb_level, klev, presnivs_19, presnivs, 1, 1, .FALSE.)
     436     CALL pres2lev(A3_CSSSM_b1_19, A3_CSSSM_b1, nb_level, klev, presnivs_19, presnivs, 1, 1, .FALSE.)
     437     CALL pres2lev(B1_CSSSM_b1_19, B1_CSSSM_b1, nb_level, klev, presnivs_19, presnivs, 1, 1, .FALSE.)
     438     CALL pres2lev(B2_CSSSM_b1_19, B2_CSSSM_b1, nb_level, klev, presnivs_19, presnivs, 1, 1, .FALSE.)
     439     CALL pres2lev(C1_CSSSM_b1_19, C1_CSSSM_b1, nb_level, klev, presnivs_19, presnivs, 1, 1, .FALSE.)
     440     CALL pres2lev(C2_CSSSM_b1_19, C2_CSSSM_b1, nb_level, klev, presnivs_19, presnivs, 1, 1, .FALSE.)
     441
     442     CALL pres2lev(A1_SSSSM_b1_19, A1_SSSSM_b1, nb_level, klev, presnivs_19, presnivs, 1, 1, .FALSE.)
     443     CALL pres2lev(A2_SSSSM_b1_19, A2_SSSSM_b1, nb_level, klev, presnivs_19, presnivs, 1, 1, .FALSE.)
     444     CALL pres2lev(A3_SSSSM_b1_19, A3_SSSSM_b1, nb_level, klev, presnivs_19, presnivs, 1, 1, .FALSE.)
     445     CALL pres2lev(B1_SSSSM_b1_19, B1_SSSSM_b1, nb_level, klev, presnivs_19, presnivs, 1, 1, .FALSE.)
     446     CALL pres2lev(B2_SSSSM_b1_19, B2_SSSSM_b1, nb_level, klev, presnivs_19, presnivs, 1, 1, .FALSE.)
     447     CALL pres2lev(C1_SSSSM_b1_19, C1_SSSSM_b1, nb_level, klev, presnivs_19, presnivs, 1, 1, .FALSE.)
     448     CALL pres2lev(C2_SSSSM_b1_19, C2_SSSSM_b1, nb_level, klev, presnivs_19, presnivs, 1, 1, .FALSE.)
     449
     450! bande 2
     451     CALL pres2lev(A1_ASSSM_b2_19, A1_ASSSM_b2, nb_level, klev, presnivs_19, presnivs, 1, 1, .FALSE.)
     452     CALL pres2lev(A2_ASSSM_b2_19, A2_ASSSM_b2, nb_level, klev, presnivs_19, presnivs, 1, 1, .FALSE.)
     453     CALL pres2lev(A3_ASSSM_b2_19, A3_ASSSM_b2, nb_level, klev, presnivs_19, presnivs, 1, 1, .FALSE.)
     454     CALL pres2lev(B1_ASSSM_b2_19, B1_ASSSM_b2, nb_level, klev, presnivs_19, presnivs, 1, 1, .FALSE.)
     455     CALL pres2lev(B2_ASSSM_b2_19, B2_ASSSM_b2, nb_level, klev, presnivs_19, presnivs, 1, 1, .FALSE.)
     456     CALL pres2lev(C1_ASSSM_b2_19, C1_ASSSM_b2, nb_level, klev, presnivs_19, presnivs, 1, 1, .FALSE.)
     457     CALL pres2lev(C2_ASSSM_b2_19, C2_ASSSM_b2, nb_level, klev, presnivs_19, presnivs, 1, 1, .FALSE.)
     458
     459     CALL pres2lev(A1_CSSSM_b2_19, A1_CSSSM_b2, nb_level, klev, presnivs_19, presnivs, 1, 1, .FALSE.)
     460     CALL pres2lev(A2_CSSSM_b2_19, A2_CSSSM_b2, nb_level, klev, presnivs_19, presnivs, 1, 1, .FALSE.)
     461     CALL pres2lev(A3_CSSSM_b2_19, A3_CSSSM_b2, nb_level, klev, presnivs_19, presnivs, 1, 1, .FALSE.)
     462     CALL pres2lev(B1_CSSSM_b2_19, B1_CSSSM_b2, nb_level, klev, presnivs_19, presnivs, 1, 1, .FALSE.)
     463     CALL pres2lev(B2_CSSSM_b2_19, B2_CSSSM_b2, nb_level, klev, presnivs_19, presnivs, 1, 1, .FALSE.)
     464     CALL pres2lev(C1_CSSSM_b2_19, C1_CSSSM_b2, nb_level, klev, presnivs_19, presnivs, 1, 1, .FALSE.)
     465     CALL pres2lev(C2_CSSSM_b2_19, C2_CSSSM_b2, nb_level, klev, presnivs_19, presnivs, 1, 1, .FALSE.)
     466
     467     CALL pres2lev(A1_SSSSM_b2_19, A1_SSSSM_b2, nb_level, klev, presnivs_19, presnivs, 1, 1, .FALSE.)
     468     CALL pres2lev(A2_SSSSM_b2_19, A2_SSSSM_b2, nb_level, klev, presnivs_19, presnivs, 1, 1, .FALSE.)
     469     CALL pres2lev(A3_SSSSM_b2_19, A3_SSSSM_b2, nb_level, klev, presnivs_19, presnivs, 1, 1, .FALSE.)
     470     CALL pres2lev(B1_SSSSM_b2_19, B1_SSSSM_b2, nb_level, klev, presnivs_19, presnivs, 1, 1, .FALSE.)
     471     CALL pres2lev(B2_SSSSM_b2_19, B2_SSSSM_b2, nb_level, klev, presnivs_19, presnivs, 1, 1, .FALSE.)
     472     CALL pres2lev(C1_SSSSM_b2_19, C1_SSSSM_b2, nb_level, klev, presnivs_19, presnivs, 1, 1, .FALSE.)
     473     CALL pres2lev(C2_SSSSM_b2_19, C2_SSSSM_b2, nb_level, klev, presnivs_19, presnivs, 1, 1, .FALSE.)
     474
     475  END IF ! firstcall
     476
     477
    193478  DO k=1, klev
    194479     DO i=1, klon
     
    212497     ALLOCATE (aerosol_name(nb_aer))
    213498     aerosol_name(1) = id_ASSO4M
     499
    214500  ELSEIF (flag_aerosol .EQ. 2) THEN
    215501     nb_aer = 2
     
    233519     aerosol_name(1) = id_CIDUSTM
    234520  ELSEIF (flag_aerosol .EQ. 6) THEN
    235      nb_aer = 9
     521     nb_aer = 10
    236522     ALLOCATE (aerosol_name(nb_aer))
    237523     aerosol_name(1) = id_ASSO4M     
     
    244530     aerosol_name(8) = id_ASSSM
    245531     aerosol_name(9) = id_CIDUSTM
     532     aerosol_name(10)= id_CSSO4M
    246533  ENDIF
    247534
     
    271558
    272559     fac=1.0
    273      IF (aerosol_name(m).EQ.id_SSSSM) THEN   ! for now
    274         soluble=.TRUE.
    275         spsol=1
     560     IF (aerosol_name(m).EQ.id_ASBCM) THEN
     561         soluble=.TRUE.
     562         spsol=1
     563         spss=0
     564     ELSEIF (aerosol_name(m).EQ.id_ASPOMM) THEN
     565         soluble=.TRUE.
     566         spsol=2
     567         spss=0
     568     ELSEIF ((aerosol_name(m).EQ.id_ASSO4M) .OR.  (aerosol_name(m).EQ.id_CSSO4M)) THEN
     569         soluble=.TRUE.
     570         spsol=3
     571         spss=0
     572         fac=1.375    ! (NH4)2-SO4/SO4 132/96 mass conversion factor for OD
     573     ELSEIF (aerosol_name(m).EQ.id_SSSSM) THEN
     574         soluble=.TRUE.
     575         spsol=5
     576         spss=3
    276577     ELSEIF (aerosol_name(m).EQ.id_CSSSM) THEN
    277         soluble=.TRUE.
    278         spsol=1
     578         soluble=.TRUE.
     579         spsol=6
     580         spss=2
    279581     ELSEIF (aerosol_name(m).EQ.id_ASSSM) THEN
    280         soluble=.TRUE.
    281         spsol=2
    282      ELSEIF (aerosol_name(m).EQ.id_ASBCM) THEN
    283         soluble=.TRUE.
    284         spsol=3
    285      ELSEIF (aerosol_name(m).EQ.id_ASPOMM) THEN
    286         soluble=.TRUE.
    287         spsol=4
    288      ELSEIF ((aerosol_name(m).EQ.id_ASSO4M) .OR.  (aerosol_name(m).EQ.id_CSSO4M)) THEN
    289         soluble=.TRUE.
    290         spsol=5
    291         fac=1.375    ! (NH4)2-SO4/SO4 132/96 mass conversion factor for OD
     582         soluble=.TRUE.
     583         spsol=7
     584         spss=1
    292585     ELSEIF (aerosol_name(m).EQ.id_CIDUSTM) THEN
    293         soluble=.FALSE.
    294         spinsol=1
     586         soluble=.FALSE.
     587         spinsol=1
     588         spss=0
    295589     ELSEIF  (aerosol_name(m).EQ.id_AIBCM) THEN
    296         soluble=.FALSE.
    297         spinsol=2
     590         soluble=.FALSE.
     591         spinsol=2
     592         spss=0
    298593     ELSEIF (aerosol_name(m).EQ.id_AIPOMM) THEN
    299         soluble=.FALSE.
    300         spinsol=3
     594         soluble=.FALSE.
     595         spinsol=3
     596         spss=0
    301597     ELSE
    302         CYCLE
     598         CYCLE
    303599     ENDIF
    304600
     
    320616           DO inu=1,nbands
    321617              IF (soluble) THEN
    322                  tau_ae2b_int(i,k,inu)= &
    323                       alpha_aers_2bands(RH_num,inu,spsol)+ &
    324                       DELTA* (alpha_aers_2bands(RH_num+1,inu,spsol) - &
    325                       alpha_aers_2bands(RH_num,inu,spsol))
    326 
    327                  piz_ae2b_int(i,k,inu)= &
    328                       piz_aers_2bands(RH_num,inu,spsol) + &
    329                       DELTA* (piz_aers_2bands(RH_num+1,inu,spsol) - &
    330                       piz_aers_2bands(RH_num,inu,spsol))
    331 
    332                  cg_ae2b_int(i,k,inu)= &
    333                       cg_aers_2bands(RH_num,inu,spsol) + &
    334                       DELTA* (cg_aers_2bands(RH_num+1,inu,spsol) - &
    335                       cg_aers_2bands(RH_num,inu,spsol))
    336 
    337                  tau_ae(i,k,aerosol_name(m),inu) = &
    338                     mass_temp(i,k,spsol)*1000.*zdp1(i,k)*delt*tau_ae2b_int(i,k,inu)*fac
     618
     619                  IF (spss.NE.0) THEN
     620                      H=rh/100
     621                      IF (spss.EQ.1) THEN !accumulation mode
     622                          ! band 1
     623                          tau_ae2b_int(i,k,1)=A1_ASSSM_b1(k)+A2_ASSSM_b1(k)*H+A3_ASSSM_b1(k)/(H-1.05)
     624                          piz_ae2b_int(i,k,1)=1-B1_ASSSM_b1(k)-B2_ASSSM_b1(k)*H
     625                          cg_ae2b_int(i,k,1)=C1_ASSSM_b1(k)+C2_ASSSM_b1(k)*H
     626                          !band 2
     627                          tau_ae2b_int(i,k,2)=A1_ASSSM_b2(k)+A2_ASSSM_b2(k)*H+A3_ASSSM_b2(k)/(H-1.05)
     628                          piz_ae2b_int(i,k,2)=1-B1_ASSSM_b2(k)-B2_ASSSM_b2(k)*H
     629                          cg_ae2b_int(i,k,2)=C1_ASSSM_b2(k)+C2_ASSSM_b2(k)*H
     630                      ENDIF
     631                      IF (spss.EQ.2) THEN !coarse mode
     632                          ! band 1
     633                          tau_ae2b_int(i,k,1)=A1_CSSSM_b1(k)+A2_CSSSM_b1(k)*H+A3_CSSSM_b1(k)/(H-1.05)
     634                          piz_ae2b_int(i,k,1)=1-B1_CSSSM_b1(k)-B2_CSSSM_b1(k)*H
     635                          cg_ae2b_int(i,k,1)=C1_CSSSM_b1(k)+C2_CSSSM_b1(k)*H
     636                          ! band 2
     637                          tau_ae2b_int(i,k,2)=A1_CSSSM_b2(k)+A2_CSSSM_b2(k)*H+A3_CSSSM_b2(k)/(H-1.05)
     638                          piz_ae2b_int(i,k,2)=1-B1_CSSSM_b2(k)-B2_CSSSM_b2(k)*H
     639                          cg_ae2b_int(i,k,2)=C1_CSSSM_b2(k)+C2_CSSSM_b2(k)*H
     640                      ENDIF
     641                      IF (spss.EQ.3) THEN !super coarse mode
     642                          ! band 1
     643                          tau_ae2b_int(i,k,1)=A1_SSSSM_b1(k)+A2_SSSSM_b1(k)*H+A3_SSSSM_b1(k)/(H-1.05)
     644                          piz_ae2b_int(i,k,1)=1-B1_SSSSM_b1(k)-B2_SSSSM_b1(k)*H
     645                          cg_ae2b_int(i,k,1)=C1_SSSSM_b1(k)+C2_SSSSM_b1(k)*H
     646                          ! band 2
     647                          tau_ae2b_int(i,k,2)=A1_SSSSM_b2(k)+A2_SSSSM_b2(k)*H+A3_SSSSM_b2(k)/(H-1.05)
     648                          piz_ae2b_int(i,k,2)=1-B1_SSSSM_b2(k)-B2_SSSSM_b2(k)*H
     649                          cg_ae2b_int(i,k,2)=C1_SSSSM_b2(k)+C2_SSSSM_b2(k)*H
     650                      ENDIF
     651                  ELSE
     652                      tau_ae2b_int(i,k,inu)= &
     653                         alpha_aers_2bands(RH_num,inu,spsol)+ &
     654                         DELTA* (alpha_aers_2bands(RH_num+1,inu,spsol) - &
     655                         alpha_aers_2bands(RH_num,inu,spsol))
     656                     
     657                      piz_ae2b_int(i,k,inu)= &
     658                         piz_aers_2bands(RH_num,inu,spsol) + &
     659                         DELTA* (piz_aers_2bands(RH_num+1,inu,spsol) - &
     660                         piz_aers_2bands(RH_num,inu,spsol))
     661                     
     662                      cg_ae2b_int(i,k,inu)= &
     663                         cg_aers_2bands(RH_num,inu,spsol) + &
     664                         DELTA* (cg_aers_2bands(RH_num+1,inu,spsol) - &
     665                         cg_aers_2bands(RH_num,inu,spsol))
     666                     
     667                  ENDIF
     668
     669                  tau_ae(i,k,aerosol_name(m),inu) = &
     670                     mass_temp(i,k,spsol)*1000.*zdp1(i,k)*delt*tau_ae2b_int(i,k,inu)*fac
    339671
    340672              ELSE
     
    344676
    345677                 tau_ae(i,k,aerosol_name(m),inu) = &
    346                     mass_temp(i,k,5+ spinsol)*1000.*zdp1(i,k)*delt*tau_ae2b_int(i,k,inu)*fac
     678                    mass_temp(i,k,7+ spinsol)*1000.*zdp1(i,k)*delt*tau_ae2b_int(i,k,inu)*fac
    347679              ENDIF
    348680
     
    352684
    353685
    354            ENDDO    ! boucle sur les bandes spectrale
    355         ENDDO     ! Boucle sur les points géographiques (grille horizontale)
    356      ENDDO     ! Boucle sur les niveaux verticaux
    357   ENDDO     ! Boucle  sur les masses de traceurs
     686           ENDDO    ! nbands : boucle sur les bandes spectrale
     687        ENDDO     ! klon : Boucle sur les points geographiques (grille horizontale)
     688     ENDDO     ! klev : Boucle sur les niveaux verticaux
     689  ENDDO     ! nb_aer : Boucle  sur les masses de traceurs
    358690
    359691
  • LMDZ4/branches/LMDZ4-dev/libf/phylmd/aeropt_5wv.F90

    r1183 r1221  
    55   RHcl, ai, flag_aerosol, &
    66   pplay, t_seri, &
    7    tausum, tau)
     7   tausum, tau, presnivs)
    88
    99  USE DIMPHY
     
    5757  REAL, DIMENSION(klon,klev), INTENT(in)   :: pplay
    5858  REAL, DIMENSION(klon,klev), INTENT(in)   :: t_seri
     59  REAL, DIMENSION(klev),      INTENT(in)   :: presnivs
    5960  !
    6061  ! Output arguments:
     
    7273 
    7374  INTEGER :: i, k, m
    74   INTEGER :: spsol, spinsol, la
     75  INTEGER :: spsol, spinsol, spss, la
    7576  INTEGER :: RH_num
    7677  INTEGER, PARAMETER :: la443 = 1
     
    8081  INTEGER, PARAMETER :: la865 = 5
    8182  INTEGER, PARAMETER :: nbre_RH=12
    82   INTEGER, PARAMETER :: nbsol_compaer=5   ! 1- Seasalt AS: 2- Sesalt CS; 3- BC soluble; 4- POM soluble; 5- SO4.
    83   INTEGER, PARAMETER :: nbinsol_compaer=3 ! 1- Dust; 2- BC insoluble; 3- POM insoluble
     83  INTEGER, PARAMETER :: nbsol_compaer=3   !  1- BC soluble; 2- POM soluble; 3- SO4.
     84  INTEGER, PARAMETER :: nbinsol_compaer=3 !  1- Dust; 2- BC insoluble; 3- POM insoluble
     85  INTEGER, PARAMETER :: nb_level = 19 ! number of vertical levels
     86  LOGICAL, SAVE :: firstcall=.TRUE.
     87
    8488  REAL :: zrho
     89
     90  ! Coefficient optiques sur 19 niveaux
     91  REAL, DIMENSION(nb_level) :: presnivs_19  ! Pression milieux couche pour 19 niveaux (nb_level)
     92  REAL, DIMENSION(nb_level) :: A1_ASSSM_19, A2_ASSSM_19, A3_ASSSM_19,&
     93          B1_ASSSM_19, B2_ASSSM_19, C1_ASSSM_19, C2_ASSSM_19,&
     94          A1_CSSSM_19, A2_CSSSM_19, A3_CSSSM_19,&
     95          B1_CSSSM_19, B2_CSSSM_19, C1_CSSSM_19, C2_CSSSM_19, &
     96          A1_SSSSM_19, A2_SSSSM_19, A3_SSSSM_19,&
     97          B1_SSSSM_19, B2_SSSSM_19, C1_SSSSM_19, C2_SSSSM_19
     98
     99  ! Coefficient optiques interpole sur le nombre de niveau du modele
     100  REAL, DIMENSION(klev) :: A1_ASSSM, A2_ASSSM, A3_ASSSM,&
     101          B1_ASSSM, B2_ASSSM, C1_ASSSM, C2_ASSSM,&
     102          A1_CSSSM, A2_CSSSM, A3_CSSSM,&
     103          B1_CSSSM, B2_CSSSM, C1_CSSSM, C2_CSSSM, &
     104          A1_SSSSM, A2_SSSSM, A3_SSSSM,&
     105          B1_SSSSM, B2_SSSSM, C1_SSSSM, C2_SSSSM
     106
    85107  REAL :: RH_tab(nbre_RH)
    86   REAL :: DELTA, rh 
     108  REAL :: DELTA, rh, H
    87109  REAL :: tau_ae5wv_int(KLON,KLEV,las) ! Intermediate computation of epaisseur optique aerosol
    88110  REAL :: piz_ae5wv_int(KLON,KLEV,las) ! Intermediate single scattering albedo aerosol
     
    119141  REAL :: radry = 287.054                     ! dry air mass constant
    120142
     143  DATA presnivs_19/&
     144       100426.5,  98327.6, 95346.5, 90966.8, 84776.9, &
     145       76536.5,   66292.2, 54559.3, 42501.8, 31806, &
     146       23787.5,   18252.7, 13996,   10320.8, 7191.1, &
     147       4661.7,    2732.9,  1345.6,  388.2/
     148
     149!!ACCUMULATION MODE
     150  DATA A1_ASSSM_19/ 4.373E+00,  4.361E+00,  4.331E+00, &
     151                 4.278E+00,  4.223E+00,  4.162E+00, &
     152                 4.103E+00,  4.035E+00,  3.962E+00, &
     153                 3.904E+00,  3.871E+00,  3.847E+00, &
     154                 3.824E+00,  3.780E+00,  3.646E+00, &
     155                 3.448E+00,  3.179E+00,  2.855E+00,  2.630E+00/
     156  DATA A2_ASSSM_19/ 2.496E+00,  2.489E+00,  2.472E+00, &
     157                 2.442E+00,  2.411E+00,  2.376E+00, &
     158                 2.342E+00,  2.303E+00,  2.261E+00, &
     159                 2.228E+00,  2.210E+00,  2.196E+00, &
     160                 2.183E+00,  2.158E+00,  2.081E+00, &
     161                 1.968E+00,  1.814E+00,  1.630E+00,  1.501E+00/
     162  DATA A3_ASSSM_19/-4.688E-02, -4.676E-02, -4.644E-02, &
     163                -4.587E-02, -4.528E-02, -4.463E-02, &
     164                -4.399E-02, -4.326E-02, -4.248E-02, &
     165                -4.186E-02, -4.151E-02, -4.125E-02, &
     166                -4.100E-02, -4.053E-02, -3.910E-02, &
     167                -3.697E-02, -3.408E-02, -3.061E-02, -2.819E-02/
     168  DATA B1_ASSSM_19/ 1.165E-08,  1.145E-08,  1.097E-08, &
     169                 1.012E-08,  9.233E-09,  8.261E-09, &
     170                 7.297E-09,  6.201E-09,  5.026E-09, &
     171                 4.098E-09,  3.567E-09,  3.187E-09, &
     172                 2.807E-09,  2.291E-09,  2.075E-09, &
     173                 1.756E-09,  1.322E-09,  8.011E-10, 4.379E-10/
     174  DATA B2_ASSSM_19/ 2.193E-08,  2.192E-08,  2.187E-08, &
     175                 2.179E-08,  2.171E-08,  2.162E-08, &
     176                 2.153E-08,  2.143E-08,  2.132E-08, &
     177                 2.124E-08,  2.119E-08,  2.115E-08, &
     178                 2.112E-08,  2.106E-08,  2.100E-08, &
     179                 2.090E-08,  2.077E-08,  2.061E-08,  2.049E-08/
     180  DATA C1_ASSSM_19/ 7.365E-01,  7.365E-01,  7.365E-01, &
     181                 7.364E-01,  7.363E-01,  7.362E-01, &
     182                 7.361E-01,  7.359E-01,  7.358E-01, &
     183                 7.357E-01,  7.356E-01,  7.356E-01, &
     184                 7.356E-01,  7.355E-01,  7.354E-01, &
     185                 7.352E-01,  7.350E-01,  7.347E-01,  7.345E-01/
     186  DATA C2_ASSSM_19/ 5.833E-02,  5.835E-02,  5.841E-02, &
     187                 5.850E-02,  5.859E-02,  5.870E-02, &
     188                 5.880E-02,  5.891E-02,  5.904E-02, &
     189                 5.914E-02,  5.920E-02,  5.924E-02, &
     190                 5.928E-02,  5.934E-02,  5.944E-02, &
     191                 5.959E-02,  5.979E-02,  6.003E-02,  6.020E-02/
     192!COARSE MODE
     193  DATA A1_CSSSM_19/ 7.403E-01,  7.422E-01,  7.626E-01, &
     194                 8.019E-01,  8.270E-01,  8.527E-01, &
     195                 8.702E-01,  8.806E-01,  8.937E-01, &
     196                 9.489E-01,  1.030E+00,  1.105E+00, &
     197                 1.199E+00,  1.357E+00,  1.660E+00, &
     198                 2.540E+00,  4.421E+00,  2.151E+00,  9.518E-01/
     199  DATA A2_CSSSM_19/ 4.522E-01,  4.532E-01,  4.644E-01, &
     200                 4.859E-01,  4.996E-01,  5.137E-01, &
     201                 5.233E-01,  5.290E-01,  5.361E-01, &
     202                 5.655E-01,  6.085E-01,  6.483E-01, &
     203                 6.979E-01,  7.819E-01,  9.488E-01, &
     204                 1.450E+00,  2.523E+00,  1.228E+00,  5.433E-01/
     205  DATA A3_CSSSM_19/-8.516E-03, -8.535E-03, -8.744E-03, &
     206                -9.148E-03, -9.406E-03, -9.668E-03, &
     207                -9.848E-03, -9.955E-03, -1.009E-02, &
     208                -1.064E-02, -1.145E-02, -1.219E-02, &
     209                -1.312E-02, -1.470E-02, -1.783E-02, &
     210                -2.724E-02, -4.740E-02, -2.306E-02, -1.021E-02/
     211  DATA B1_CSSSM_19/ 2.535E-07,  2.530E-07,  2.479E-07, &
     212                 2.380E-07,  2.317E-07,  2.252E-07, &
     213                 2.208E-07,  2.182E-07,  2.149E-07, &
     214                 2.051E-07,  1.912E-07,  1.784E-07, &
     215                 1.624E-07,  1.353E-07,  1.012E-07, &
     216                 6.016E-08,  2.102E-08,  0.000E+00,  0.000E+00/
     217  DATA B2_CSSSM_19/ 1.221E-07,  1.217E-07,  1.179E-07, &
     218                 1.104E-07,  1.056E-07,  1.008E-07, &
     219                 9.744E-08,  9.546E-08,  9.299E-08, &
     220                 8.807E-08,  8.150E-08,  7.544E-08, &
     221                 6.786E-08,  5.504E-08,  4.080E-08, &
     222                 2.960E-08,  2.300E-08,  2.030E-08,  1.997E-08/
     223  DATA C1_CSSSM_19/ 7.659E-01,  7.658E-01,  7.652E-01, &
     224                 7.639E-01,  7.631E-01,  7.623E-01, &
     225                 7.618E-01,  7.614E-01,  7.610E-01, &
     226                 7.598E-01,  7.581E-01,  7.566E-01, &
     227                 7.546E-01,  7.513E-01,  7.472E-01, &
     228                 7.423E-01,  7.376E-01,  7.342E-01,  7.334E-01/
     229  DATA C2_CSSSM_19/ 3.691E-02,  3.694E-02,  3.729E-02, &
     230                 3.796E-02,  3.839E-02,  3.883E-02, &
     231                 3.913E-02,  3.931E-02,  3.953E-02, &
     232                 4.035E-02,  4.153E-02,  4.263E-02, &
     233                 4.400E-02,  4.631E-02,  4.933E-02, &
     234                 5.331E-02,  5.734E-02,  6.053E-02,  6.128E-02/
     235!SUPER COARSE MODE
     236  DATA A1_SSSSM_19/ 2.836E-01,  2.876E-01,  2.563E-01, &
     237                 2.414E-01,  2.541E-01,  2.546E-01, &
     238                 2.572E-01,  2.638E-01,  2.781E-01, &
     239                 3.167E-01,  4.209E-01,  5.286E-01, &
     240                 6.959E-01,  9.233E-01,  1.282E+00, &
     241                 1.836E+00,  2.981E+00,  4.355E+00,  4.059E+00/
     242  DATA A2_SSSSM_19/ 1.608E-01,  1.651E-01,  1.577E-01, &
     243                 1.587E-01,  1.686E-01,  1.690E-01, &
     244                 1.711E-01,  1.762E-01,  1.874E-01, &
     245                 2.138E-01,  2.751E-01,  3.363E-01, &
     246                 4.279E-01,  5.519E-01,  7.421E-01, &
     247                 1.048E+00,  1.702E+00,  2.485E+00,  2.317E+00/
     248  DATA A3_SSSSM_19/-3.025E-03, -3.111E-03, -2.981E-03, &
     249                -3.005E-03, -3.193E-03, -3.200E-03, &
     250                -3.239E-03, -3.336E-03, -3.548E-03, &
     251                -4.047E-03, -5.196E-03, -6.345E-03, &
     252                -8.061E-03, -1.038E-02, -1.395E-02, &
     253                -1.970E-02, -3.197E-02, -4.669E-02, -4.352E-02/
     254  DATA B1_SSSSM_19/ 6.759E-07,  6.246E-07,  5.542E-07, &
     255                 4.953E-07,  4.746E-07,  4.738E-07, &
     256                 4.695E-07,  4.588E-07,  4.354E-07, &
     257                 3.947E-07,  3.461E-07,  3.067E-07, &
     258                 2.646E-07,  2.095E-07,  1.481E-07, &
     259                 9.024E-08,  5.747E-08,  2.384E-08,  6.599E-09/
     260  DATA B2_SSSSM_19/ 5.977E-07,  5.390E-07,  4.468E-07, &
     261                 3.696E-07,  3.443E-07,  3.433E-07, &
     262                 3.380E-07,  3.249E-07,  2.962E-07, &
     263                 2.483E-07,  1.989E-07,  1.623E-07, &
     264                 1.305E-07,  9.015E-08,  6.111E-08, &
     265                 3.761E-08,  2.903E-08,  2.337E-08,  2.147E-08/
     266  DATA C1_SSSSM_19/ 8.120E-01,  8.084E-01,  8.016E-01, &
     267                 7.953E-01,  7.929E-01,  7.928E-01, &
     268                 7.923E-01,  7.910E-01,  7.882E-01, &
     269                 7.834E-01,  7.774E-01,  7.725E-01, &
     270                 7.673E-01,  7.604E-01,  7.529E-01, &
     271                 7.458E-01,  7.419E-01,  7.379E-01,  7.360E-01/
     272  DATA C2_SSSSM_19/ 2.388E-02,  2.392E-02,  2.457E-02,  2.552E-02, &
     273                 2.615E-02,  2.618E-02,  2.631E-02,  2.663E-02, &
     274                 2.735E-02,  2.875E-02,  3.113E-02,  3.330E-02, &
     275                 3.615E-02,  3.997E-02,  4.521E-02,  5.038E-02, &
     276                 5.358E-02,  5.705E-02,  5.887E-02/
     277!*********************************************************************
     278!
    121279  !
    122280  !
     
    127285  !
    128286  DATA alpha_aers_5wv/ &
    129      ! seasalt soluble CS
    130      0.50,0.90,1.05,1.21,1.40,2.41, &
    131      2.66,3.11,3.88,4.52,5.69,8.84, &
    132      0.51,0.92,1.07,1.23,1.42,2.45, &
    133      2.70,3.16,3.94,4.58,5.76,8.94, &
    134      0.52,0.93,1.08,1.24,1.43,2.47, &
    135      2.73,3.20,3.99,4.64,5.84,9.04, &
    136      0.52,0.93,1.09,1.25,1.44,2.50, &
    137      2.76,3.23,4.03,4.68,5.89,9.14, &
    138      0.52,0.94,1.09,1.26,1.45,2.51, &
    139      2.78,3.25,4.06,4.72,5.94,9.22, &
    140      ! seasalt soluble AS
    141      4.28, 7.17, 8.44, 9.85,11.60,22.44,  &
    142      25.34,30.54,39.38,46.52,59.33,91.77, &
    143      3.40, 5.67, 6.69, 7.85, 9.32,19.03,  &
    144      21.78,26.88,35.87,43.40,57.33,93.43, &
    145      2.48, 4.22, 5.02, 5.94, 7.11,15.29,  &
    146      17.70,22.31,30.73,38.06,52.15,90.59, &
    147      1.90, 3.29, 3.94, 4.69, 5.65, 12.58, &
    148      14.68,18.77,26.41,33.25,46.77,85.50, &
    149      1.47, 2.59, 3.12, 3.74, 4.54, 10.42, &
    150      12.24,15.82,22.66,28.91,41.54,79.33, &
    151287     ! bc soluble
    152288     7.930,7.930,7.930,7.930,7.930,7.930,     &
     
    192328
    193329  DATA cg_aers_5wv/ &
    194      ! seasalt soluble (CS)
    195      0.730,0.753,0.760,0.766,0.772,0.793, &
    196      0.797,0.802,0.809,0.813,0.820,0.830, &
    197      0.719,0.744,0.751,0.757,0.764,0.786, &
    198      0.791,0.796,0.803,0.808,0.815,0.826, &
    199      0.721,0.744,0.750,0.756,0.762,0.784, &
    200      0.787,0.793,0.800,0.804,0.811,0.822, &
    201      0.717,0.741,0.747,0.753,0.759,0.780, &
    202      0.784,0.789,0.795,0.800,0.806,0.817, &
    203      0.715,0.739,0.745,0.751,0.757,0.777, &
    204      0.781,0.786,0.793,0.797,0.803,0.814, &
    205      ! seasalt soluble (AS)
    206      0.698,0.722,0.729,0.736,0.743,0.765, &
    207      0.768,0.773,0.777,0.779,0.781,0.779, &
    208      0.682,0.710,0.719,0.727,0.735,0.764, &
    209      0.769,0.776,0.783,0.787,0.791,0.792, &
    210      0.658,0.691,0.701,0.710,0.720,0.756, &
    211      0.763,0.771,0.782,0.788,0.795,0.801, &
    212      0.632,0.668,0.679,0.690,0.701,0.743, &
    213      0.750,0.762,0.775,0.783,0.792,0.804, &
    214      0.605,0.644,0.656,0.669,0.681,0.729, &
    215      0.737,0.750,0.765,0.775,0.787,0.803, &
    216330     ! bc soluble
    217331     .651, .651, .651, .651, .651, .651, &
     
    258372  !
    259373  DATA piz_aers_5wv/&
    260      ! seasalt soluble (CS)
    261      1.000,1.000,1.000,1.000,1.000,1.000, &
    262      1.000,1.000,1.000,1.000,1.000,1.000, &
    263      1.000,1.000,1.000,1.000,1.000,1.000, &
    264      1.000,1.000,1.000,1.000,1.000,1.000, &
    265      1.000,1.000,1.000,1.000,1.000,1.000, &
    266      1.000,1.000,1.000,1.000,1.000,1.000, &
    267      1.000,1.000,1.000,1.000,1.000,1.000, &
    268      1.000,1.000,1.000,1.000,1.000,1.000, &
    269      1.000,1.000,1.000,1.000,1.000,1.000, &
    270      1.000,1.000,1.000,1.000,1.000,1.000, &
    271      ! seasalt soluble (AS)
    272      1.000,1.000,1.000,1.000,1.000,1.000, &
    273      1.000,1.000,1.000,1.000,1.000,1.000, &
    274      1.000,1.000,1.000,1.000,1.000,1.000, &
    275      1.000,1.000,1.000,1.000,1.000,1.000, &
    276      1.000,1.000,1.000,1.000,1.000,1.000, &
    277      1.000,1.000,1.000,1.000,1.000,1.000, &
    278      1.000,1.000,1.000,1.000,1.000,1.000, &
    279      1.000,1.000,1.000,1.000,1.000,1.000, &
    280      1.000,1.000,1.000,1.000,1.000,1.000, &
    281      1.000,1.000,1.000,1.000,1.000,1.000, &
    282374     ! bc soluble
    283375     .445, .445, .445, .445, .445, .445, &
     
    322414     0.972, 0.963, 0.943, 0.923, 0.897/
    323415
     416! Interpolation des coefficients optiques de 19 niveaux vers le nombre des niveaux du model
     417  IF (firstcall) THEN
     418     firstcall=.FALSE.
     419!Accumulation mode
     420     CALL pres2lev(A1_ASSSM_19, A1_ASSSM, nb_level, klev, presnivs_19, presnivs, 1, 1, .FALSE.)
     421     CALL pres2lev(A2_ASSSM_19, A2_ASSSM, nb_level, klev, presnivs_19, presnivs, 1, 1, .FALSE.)
     422     CALL pres2lev(A3_ASSSM_19, A3_ASSSM, nb_level, klev, presnivs_19, presnivs, 1, 1, .FALSE.)
     423     CALL pres2lev(B1_ASSSM_19, B1_ASSSM, nb_level, klev, presnivs_19, presnivs, 1, 1, .FALSE.)
     424     CALL pres2lev(B2_ASSSM_19, B2_ASSSM, nb_level, klev, presnivs_19, presnivs, 1, 1, .FALSE.)
     425     CALL pres2lev(C1_ASSSM_19, C1_ASSSM, nb_level, klev, presnivs_19, presnivs, 1, 1, .FALSE.)
     426     CALL pres2lev(C2_ASSSM_19, C2_ASSSM, nb_level, klev, presnivs_19, presnivs, 1, 1, .FALSE.)
     427!Coarse mode
     428     CALL pres2lev(A1_CSSSM_19, A1_CSSSM, nb_level, klev, presnivs_19, presnivs, 1, 1, .FALSE.)
     429     CALL pres2lev(A2_CSSSM_19, A2_CSSSM, nb_level, klev, presnivs_19, presnivs, 1, 1, .FALSE.)
     430     CALL pres2lev(A3_CSSSM_19, A3_CSSSM, nb_level, klev, presnivs_19, presnivs, 1, 1, .FALSE.)
     431     CALL pres2lev(B1_CSSSM_19, B1_CSSSM, nb_level, klev, presnivs_19, presnivs, 1, 1, .FALSE.)
     432     CALL pres2lev(B2_CSSSM_19, B2_CSSSM, nb_level, klev, presnivs_19, presnivs, 1, 1, .FALSE.)
     433     CALL pres2lev(C1_CSSSM_19, C1_CSSSM, nb_level, klev, presnivs_19, presnivs, 1, 1, .FALSE.)
     434     CALL pres2lev(C2_CSSSM_19, C2_CSSSM, nb_level, klev, presnivs_19, presnivs, 1, 1, .FALSE.)
     435!Super coarse mode
     436     CALL pres2lev(A1_SSSSM_19, A1_SSSSM, nb_level, klev, presnivs_19, presnivs, 1, 1, .FALSE.)
     437     CALL pres2lev(A2_SSSSM_19, A2_SSSSM, nb_level, klev, presnivs_19, presnivs, 1, 1, .FALSE.)
     438     CALL pres2lev(A3_SSSSM_19, A3_SSSSM, nb_level, klev, presnivs_19, presnivs, 1, 1, .FALSE.)
     439     CALL pres2lev(B1_SSSSM_19, B1_SSSSM, nb_level, klev, presnivs_19, presnivs, 1, 1, .FALSE.)
     440     CALL pres2lev(B2_SSSSM_19, B2_SSSSM, nb_level, klev, presnivs_19, presnivs, 1, 1, .FALSE.)
     441     CALL pres2lev(C1_SSSSM_19, C1_SSSSM, nb_level, klev, presnivs_19, presnivs, 1, 1, .FALSE.)
     442     CALL pres2lev(C2_SSSSM_19, C2_SSSSM, nb_level, klev, presnivs_19, presnivs, 1, 1, .FALSE.)
     443
     444  END IF ! firstcall
     445
     446
    324447  ! Initialisations
    325448  ai(:) = 0.
     
    344467
    345468  IF (flag_aerosol .EQ. 1) THEN
    346      nb_aer = 1
     469     nb_aer = 2
    347470     ALLOCATE (aerosol_name(nb_aer))
    348471     aerosol_name(1) = id_ASSO4M
     472     aerosol_name(2) = id_CSSO4M
    349473  ELSEIF (flag_aerosol .EQ. 2) THEN
    350474     nb_aer = 2
     
    368492     aerosol_name(1) = id_CIDUSTM
    369493  ELSEIF (flag_aerosol .EQ. 6) THEN
    370      nb_aer = 9
     494     nb_aer = 10
    371495     ALLOCATE (aerosol_name(nb_aer))
    372496     aerosol_name(1) = id_ASSO4M     
     
    379503     aerosol_name(8) = id_ASSSM
    380504     aerosol_name(9) = id_CIDUSTM
     505     aerosol_name(10) = id_CSSO4M
    381506  ENDIF
    382507
     
    398523   
    399524    fac=1.0
    400     IF (aerosol_name(m).EQ.id_SSSSM) THEN   ! for now
     525    IF (aerosol_name(m).EQ.id_ASBCM) THEN
    401526        soluble=.TRUE.
    402527        spsol=1
     528        spss=0
     529    ELSEIF (aerosol_name(m).EQ.id_ASPOMM) THEN
     530        soluble=.TRUE.
     531        spsol=2
     532        spss=0
     533    ELSEIF ((aerosol_name(m).EQ.id_ASSO4M) .OR.  (aerosol_name(m).EQ.id_CSSO4M)) THEN
     534        soluble=.TRUE.
     535        spsol=3
     536        spss=0
     537        fac=1.375    ! (NH4)2-SO4/SO4 132/96 mass conversion factor for OD
     538    ELSEIF (aerosol_name(m).EQ.id_SSSSM) THEN
     539        soluble=.TRUE.
     540        spsol=5
     541        spss=3
    403542    ELSEIF (aerosol_name(m).EQ.id_CSSSM) THEN
    404543        soluble=.TRUE.
    405         spsol=1
     544        spsol=6
     545        spss=2
    406546    ELSEIF (aerosol_name(m).EQ.id_ASSSM) THEN
    407547        soluble=.TRUE.
    408         spsol=2
    409     ELSEIF (aerosol_name(m).EQ.id_ASBCM) THEN
    410         soluble=.TRUE.
    411         spsol=3
    412     ELSEIF (aerosol_name(m).EQ.id_ASPOMM) THEN
    413         soluble=.TRUE.
    414         spsol=4
    415     ELSEIF ((aerosol_name(m).EQ.id_ASSO4M) .OR.  (aerosol_name(m).EQ.id_CSSO4M)) THEN
    416         soluble=.TRUE.
    417         spsol=5
    418         fac=1.375    ! (NH4)2-SO4/SO4 132/96 mass conversion factor for OD
    419     ELSEIF     (aerosol_name(m).EQ.id_CIDUSTM) THEN
     548        spsol=7
     549        spss=1
     550    ELSEIF (aerosol_name(m).EQ.id_CIDUSTM) THEN
    420551        soluble=.FALSE.
    421552        spinsol=1
     553        spss=0
    422554    ELSEIF  (aerosol_name(m).EQ.id_AIBCM) THEN
    423555        soluble=.FALSE.
    424556        spinsol=2
     557        spss=0
    425558    ELSEIF (aerosol_name(m).EQ.id_AIPOMM) THEN
    426559        soluble=.FALSE.
    427560        spinsol=3
     561        spss=0
    428562    ELSE
    429563        CYCLE
     
    447581         
    448582          IF (soluble) THEN
    449               tau_ae5wv_int(i,k,la) = &
    450                  alpha_aers_5wv(RH_num,la,spsol)+DELTA* &
    451                  (alpha_aers_5wv(RH_num+1,la,spsol) - &
    452                  alpha_aers_5wv(RH_num,la,spsol))
    453              
    454               piz_ae5wv_int(i,k,la) = &
    455                  piz_aers_5wv(RH_num,la,spsol)+DELTA* &
    456                  (piz_aers_5wv(RH_num+1,la,spsol) - &
    457                  piz_aers_5wv(RH_num,la,spsol))
    458              
    459               cg_ae5wv_int(i,k,la) = &
    460                  cg_aers_5wv(RH_num,la,spsol)+DELTA* &
    461                  (cg_aers_5wv(RH_num+1,la,spsol) - &
    462                  cg_aers_5wv(RH_num,la,spsol))
    463              
     583
     584
     585              IF((la.EQ.2).AND.(spss.NE.0)) THEN !la=2 corresponds to 550 nm
     586                  H=rh/100
     587                  IF (spss.EQ.1) THEN !accumulation mode
     588                      tau_ae5wv_int(i,k,la)=A1_ASSSM(k)+A2_ASSSM(k)*H+A3_ASSSM(k)/(H-1.05)
     589                      piz_ae5wv_int(i,k,la)=1-B1_ASSSM(k)-B2_ASSSM(k)*H
     590                      cg_ae5wv_int(i,k,la)=C1_ASSSM(k)+C2_ASSSM(k)*H
     591                  ENDIF
     592                  IF (spss.EQ.2) THEN !coarse mode
     593                      tau_ae5wv_int(i,k,la)=A1_CSSSM(k)+A2_CSSSM(k)*H+A3_CSSSM(k)/(H-1.05)
     594                      piz_ae5wv_int(i,k,la)=1-B1_CSSSM(k)-B2_CSSSM(k)*H
     595                      cg_ae5wv_int(i,k,la)=C1_CSSSM(k)+C2_CSSSM(k)*H
     596                  ENDIF
     597                  IF (spss.EQ.3) THEN !super coarse mode
     598                      tau_ae5wv_int(i,k,la)=A1_SSSSM(k)+A2_SSSSM(k)*H+A3_SSSSM(k)/(H-1.05)
     599                      piz_ae5wv_int(i,k,la)=1-B1_SSSSM(k)-B2_SSSSM(k)*H
     600                      cg_ae5wv_int(i,k,la)=C1_SSSSM(k)+C2_SSSSM(k)*H
     601                  ENDIF
     602              ELSE
     603                 
     604                  tau_ae5wv_int(i,k,la) = &
     605                     alpha_aers_5wv(RH_num,la,spsol)+DELTA* &
     606                     (alpha_aers_5wv(RH_num+1,la,spsol) - &
     607                     alpha_aers_5wv(RH_num,la,spsol))
     608                 
     609                  piz_ae5wv_int(i,k,la) = &
     610                     piz_aers_5wv(RH_num,la,spsol)+DELTA* &
     611                     (piz_aers_5wv(RH_num+1,la,spsol) - &
     612                     piz_aers_5wv(RH_num,la,spsol))
     613                 
     614                  cg_ae5wv_int(i,k,la) = &
     615                     cg_aers_5wv(RH_num,la,spsol)+DELTA* &
     616                     (cg_aers_5wv(RH_num+1,la,spsol) - &
     617                     cg_aers_5wv(RH_num,la,spsol))
     618              ENDIF
     619
    464620              tau3d(i,k) = &
    465621                 mass_temp(i,k,spsol)*1000.*zdp1(i,k)*tau_ae5wv_int(i,k,la)*delt*fac
     
    471627
    472628              tau3d(i,k) = &
    473                  mass_temp(i,k,5+spinsol)*1000.*zdp1(i,k)*tau_ae5wv_int(i,k,la)*delt*fac
     629                 mass_temp(i,k,7+spinsol)*1000.*zdp1(i,k)*tau_ae5wv_int(i,k,la)*delt*fac
    474630          ENDIF
    475631         
  • LMDZ4/branches/LMDZ4-dev/libf/phylmd/physiq.F

    r1220 r1221  
    26652665     &        CALL readaerosol_optic(
    26662666     &        debut, new_aod, flag_aerosol, jD_cur-jD_ref, pdtphys,
    2667      &        pplay, paprs, t_seri, rhcl,
     2667     &        pplay, paprs, t_seri, rhcl, presnivs,
    26682668     &        mass_solu_aero, mass_solu_aero_pi,
    26692669     &        tau_aero, piz_aero, cg_aero,
  • LMDZ4/branches/LMDZ4-dev/libf/phylmd/readaerosol_optic.F90

    r1216 r1221  
    22!
    33SUBROUTINE readaerosol_optic(debut, new_aod, flag_aerosol, rjourvrai, pdtphys, &
    4      pplay, paprs, t_seri, rhcl, &
     4     pplay, paprs, t_seri, rhcl, presnivs, &
    55     mass_solu_aero, mass_solu_aero_pi, &
    66     tau_aero, piz_aero, cg_aero, &
     
    2727  REAL, DIMENSION(klon,klev), INTENT(IN)   :: t_seri
    2828  REAL, DIMENSION(klon,klev), INTENT(IN)   :: rhcl   ! humidite relative ciel clair
     29  REAL, DIMENSION(klev), INTENT(IN)        :: presnivs
    2930
    3031! Output arguments
     
    7374       flag_aerosol .EQ. 6 ) THEN
    7475
    75      CALL readaerosol_interp(5, rjourvrai, debut, pplay, paprs, t_seri, sulfate, sulfate_pi)
     76     CALL readaerosol_interp(id_ASSO4M, rjourvrai, debut, pplay, paprs, t_seri, sulfate, sulfate_pi)
    7677  ELSE
    7778     sulfate(:,:) = 0. ; sulfate_pi(:,:) = 0.
     
    8384
    8485     ! Get bc aerosol distribution
    85      CALL readaerosol_interp(3, rjourvrai, debut, pplay, paprs, t_seri, bcsol, bcsol_pi )
    86      CALL readaerosol_interp(7, rjourvrai, debut, pplay, paprs, t_seri, bcins, bcins_pi )
     86     CALL readaerosol_interp(id_ASBCM, rjourvrai, debut, pplay, paprs, t_seri, bcsol, bcsol_pi )
     87     CALL readaerosol_interp(id_AIBCM, rjourvrai, debut, pplay, paprs, t_seri, bcins, bcins_pi )
    8788  ELSE
    8889     bcsol(:,:) = 0. ; bcsol_pi(:,:) = 0.
     
    9596       flag_aerosol .EQ. 6 ) THEN
    9697
    97      CALL readaerosol_interp(4, rjourvrai, debut, pplay, paprs, t_seri, pomsol, pomsol_pi)
    98      CALL readaerosol_interp(8, rjourvrai, debut, pplay, paprs, t_seri, pomins, pomins_pi)
     98     CALL readaerosol_interp(id_ASPOMM, rjourvrai, debut, pplay, paprs, t_seri, pomsol, pomsol_pi)
     99     CALL readaerosol_interp(id_AIPOMM, rjourvrai, debut, pplay, paprs, t_seri, pomins, pomins_pi)
    99100  ELSE
    100101     pomsol(:,:) = 0. ; pomsol_pi(:,:) = 0.
     
    107108      flag_aerosol .EQ. 6 ) THEN
    108109
    109       CALL readaerosol_interp(1 ,rjourvrai, debut, pplay, paprs, t_seri, sscoarse,sscoarse_pi)
    110       CALL readaerosol_interp(2 ,rjourvrai, debut, pplay, paprs, t_seri, ssacu, ssacu_pi)
     110      CALL readaerosol_interp(id_SSSSM ,rjourvrai, debut, pplay, paprs, t_seri, sssupco, sssupco_pi)
     111      CALL readaerosol_interp(id_CSSSM ,rjourvrai, debut, pplay, paprs, t_seri, sscoarse,sscoarse_pi)
     112      CALL readaerosol_interp(id_ASSSM ,rjourvrai, debut, pplay, paprs, t_seri, ssacu, ssacu_pi)
    111113
    112114  ELSE
    113115     sscoarse(:,:) = 0. ; sscoarse_pi(:,:) = 0.
    114      ssacu(:,:) = 0.    ; ssacu_pi(:,:) = 0.
     116     ssacu(:,:)    = 0. ; ssacu_pi(:,:) = 0.
     117     sssupco(:,:)  = 0. ; sssupco_pi = 0.
    115118  ENDIF
    116119
     
    119122      flag_aerosol .EQ. 6 ) THEN
    120123
    121       CALL readaerosol_interp(6 , rjourvrai, debut, pplay, paprs, t_seri, cidust, cidust_pi)
     124      CALL readaerosol_interp(id_CIDUSTM, rjourvrai, debut, pplay, paprs, t_seri, cidust, cidust_pi)
    122125
    123126  ELSE
     
    128131! Store all aerosols in one variable
    129132!
    130   m_allaer(:,:,1) = sscoarse(:,:)     ! SSSSM || CSSSM
    131   m_allaer(:,:,2) = ssacu(:,:)        ! ASSSM
    132   m_allaer(:,:,3) = bcsol(:,:)        ! ASBCM
    133   m_allaer(:,:,4) = pomsol(:,:)       ! ASPOMM
    134   m_allaer(:,:,5) = sulfate(:,:)      ! ASSO4M || CSSO4M   
    135   m_allaer(:,:,6) = cidust(:,:)       ! CIDUSTM
    136   m_allaer(:,:,7) = bcins(:,:)        ! AIBCM
    137   m_allaer(:,:,8) = pomins(:,:)       ! AIPOMM
     133  m_allaer(:,:,id_ASBCM)  = bcsol(:,:)        ! ASBCM
     134  m_allaer(:,:,id_ASPOMM) = pomsol(:,:)       ! ASPOMM
     135  m_allaer(:,:,id_ASSO4M) = sulfate(:,:)      ! ASSO4M (= SO4)
     136  m_allaer(:,:,id_CSSO4M) = 0.                ! CSSO4M
     137  m_allaer(:,:,id_SSSSM)  = sssupco(:,:)      ! SSSSM
     138  m_allaer(:,:,id_CSSSM)  = sscoarse(:,:)     ! CSSSM
     139  m_allaer(:,:,id_ASSSM)  = ssacu(:,:)        ! ASSSM
     140  m_allaer(:,:,id_CIDUSTM)= cidust(:,:)       ! CIDUSTM
     141  m_allaer(:,:,id_AIBCM)  = bcins(:,:)        ! AIBCM
     142  m_allaer(:,:,id_AIPOMM) = pomins(:,:)       ! AIPOMM
    138143
    139144!
     
    141146!
    142147  mass_solu_aero(:,:)    = sulfate(:,:)    + bcsol(:,:)    + pomsol(:,:)    + &
    143        sscoarse(:,:)   + ssacu(:,:)
     148       sscoarse(:,:)    + ssacu(:,:)    + sssupco(:,:)
    144149  mass_solu_aero_pi(:,:) = sulfate_pi(:,:) + bcsol_pi(:,:) + pomsol_pi(:,:) + &
    145        sscoarse_pi(:,:) + ssacu_pi(:,:)
     150       sscoarse_pi(:,:) + ssacu_pi(:,:) + sssupco_pi(:,:)
    146151
    147152!****************************************************************************************
     
    162167          tau_aero, piz_aero, cg_aero,   &
    163168          fractnat_allaer, flag_aerosol, &
    164           pplay, t_seri)
     169          pplay, t_seri, presnivs)
    165170     
    166171     ! aeropt_5wv only for validation and diagnostics.
     
    169174          pdtphys, rhcl, aerindex, &
    170175          flag_aerosol, pplay, t_seri, &
    171           tausum_aero, tau3d_aero)
     176          tausum_aero, tau3d_aero, presnivs)
    172177  ELSE
    173178
    174179     CALL aeropt(pplay, paprs, t_seri, sulfate, rhcl, &
    175           tau_aero(:,:,5,:), piz_aero(:,:,5,:), cg_aero(:,:,5,:), aerindex)
     180          tau_aero(:,:,id_ASSO4M,:), piz_aero(:,:,id_ASSO4M,:), cg_aero(:,:,id_ASSO4M,:), aerindex)
    176181     
    177182  END IF
Note: See TracChangeset for help on using the changeset viewer.