MODULE YO_AERO_TRAC
  
  ! *yo_aero_trac*  Contains parameters defining the physical and 
  !                 chemical properties of the m7 aerosol scheme.
  !
  ! Authors:
  ! --------
  !   based on *mo_aero_trac* and *HAM_request_tracer* by
  ! P. Stier (MPI)                                 2001/2002 
  ! E. Vignati and J. Wilson (JRC / EI)            2000

  ! JJMorcrette: 20100120 reorganized, rewritten and adapted to ECMWF IFS 
  !              as YO_AERO_TRAC initialized in SU_AERM7

USE PARKIND1  ,ONLY : JPIM

IMPLICIT NONE

SAVE

  !--- Module variables:
  !
  !    Tracer indices:
  !
  !    Legend: iABBCD
  !
  !            A:  m  = particle mass mixing ratio, n number mixing ratio
  !            BB: s4 = sulfate, bc/oc = black/organic carbon, du = dust, ss = seasalt
  !            C:  n  = nucleation , k = Aitken, a = accumulation, c = coarse mode
  !            D:  i  = insoluble,  s = soluble

!-- aerosol components: 
  INTEGER(KIND=JPIM) :: idt_ms4ns  ! mass mixing ratio sulfate        nuclea. soluble
  INTEGER(KIND=JPIM) :: idt_ms4ks  ! mass mixing ratio sulfate        aitken  soluble
  INTEGER(KIND=JPIM) :: idt_ms4as  ! mass mixing ratio sulfate        accum.  soluble
  INTEGER(KIND=JPIM) :: idt_ms4cs  ! mass mixing ratio sulfate        coarse  soluble
  INTEGER(KIND=JPIM) :: idt_mbcki  ! mass mixing ratio black carbon   aitken  insoluble
  INTEGER(KIND=JPIM) :: idt_mbcks  ! mass mixing ratio black carbon   aitken  soluble
  INTEGER(KIND=JPIM) :: idt_mbcas  ! mass mixing ratio black carbon   accum.  soluble
  INTEGER(KIND=JPIM) :: idt_mbccs  ! mass mixing ratio black carbon   coarse  soluble
  INTEGER(KIND=JPIM) :: idt_mocki  ! mass mixing ratio organic carbon aitken  insoluble
  INTEGER(KIND=JPIM) :: idt_mocks  ! mass mixing ratio organic carbon aitken  soluble
  INTEGER(KIND=JPIM) :: idt_mocas  ! mass mixing ratio organic carbon accum.  soluble
  INTEGER(KIND=JPIM) :: idt_moccs  ! mass mixing ratio organic carbon coarse  soluble
  INTEGER(KIND=JPIM) :: idt_mssas  ! mass mixing ratio seasalt        accum.  soluble
  INTEGER(KIND=JPIM) :: idt_msscs  ! mass mixing ratio seasalt        coarse  soluble
  INTEGER(KIND=JPIM) :: idt_mduai  ! mass mixing ratio dust           accum.  insoluble
  INTEGER(KIND=JPIM) :: idt_mduas  ! mass mixing ratio dust           accum.  soluble
  INTEGER(KIND=JPIM) :: idt_mduci  ! mass mixing ratio dust           coarse  insoluble
  INTEGER(KIND=JPIM) :: idt_mducs  ! mass mixing ratio dust           coarse  soluble

!-- aerosol numbers in various modes
  INTEGER(KIND=JPIM) :: idt_nns    ! number mixing ratio              nuclea. soluble
  INTEGER(KIND=JPIM) :: idt_nki    ! number mixing ratio              aitken  insoluble
  INTEGER(KIND=JPIM) :: idt_nks    ! number mixing ratio              aitken  soluble
  INTEGER(KIND=JPIM) :: idt_nai    ! number mixing ratio              accum.  insoluble
  INTEGER(KIND=JPIM) :: idt_nas    ! number mixing ratio              accum.  soluble
  INTEGER(KIND=JPIM) :: idt_nci    ! number mixing ratio              coarse  insoluble
  INTEGER(KIND=JPIM) :: idt_ncs    ! number mixing ratio              coarse  soluble

!-- precursors
  INTEGER(KIND=JPIM) :: idt_dms    ! mass mixing ratio dms
  INTEGER(KIND=JPIM) :: idt_so2    ! mass mixing ratio so2
  INTEGER(KIND=JPIM) :: idt_so4    ! mass mixing ratio so4

  INTEGER(KIND=JPIM) :: idt_oh     ! mass mixing ratio oh    - currently prescribed offline
  INTEGER(KIND=JPIM) :: idt_h2o2   ! mass mixing ratio h2o2  - currently prescribed offline
  INTEGER(KIND=JPIM) :: idt_o3     ! mass mixing ratio o3    - currently prescribed offline
  INTEGER(KIND=JPIM) :: idt_no2    ! mass mixing ratio no2   - currently prescribed offline

!-- water vapour amounts relevant for modes of soluble aerosols
  INTEGER(KIND=JPIM) :: idt_mwans  ! mass mixing ratio aerosol water  nuclea. soluble
  INTEGER(KIND=JPIM) :: idt_mwaks  ! mass mixing ratio aerosol water  aitken  soluble
  INTEGER(KIND=JPIM) :: idt_mwaas  ! mass mixing ratio aerosol water  accum.  soluble
  INTEGER(KIND=JPIM) :: idt_mwacs  ! mass mixing ratio aerosol water  coarse  soluble

!-- cloud particle
  INTEGER(KIND=JPIM) :: idt_cdnc   ! cloud droplet number concentration
  INTEGER(KIND=JPIM) :: idt_icnc   ! ice   cristal number concentration

!     ------------------------------------------------------------------
END MODULE YO_AERO_TRAC
