5      mass_solu_aero, mass_solu_aero_pi, &
 
    6      tau_aero, piz_aero, cg_aero, &
 
    7      tausum_aero, tau3d_aero )
 
   17       concso4,
concno3,
concoa,
concbc,
concss,
concdust,
loadso4,
loadoa,
loadbc,
loadss,
loaddust, &
 
   23   LOGICAL, 
INTENT(IN)                      :: debut
 
   24   LOGICAL, 
INTENT(IN)                      :: new_aod
 
   25   INTEGER, 
INTENT(IN)                      :: flag_aerosol
 
   26   INTEGER, 
INTENT(IN)                      :: itap
 
   27   REAL, 
INTENT(IN)                         :: rjourvrai
 
   28   REAL, 
INTENT(IN)                         :: pdtphys
 
   29   REAL, 
DIMENSION(klon,klev), 
INTENT(IN)   :: pplay
 
   30   REAL, 
DIMENSION(klon,klev+1), 
INTENT(IN) :: paprs
 
   31   REAL, 
DIMENSION(klon,klev), 
INTENT(IN)   :: t_seri
 
   32   REAL, 
DIMENSION(klon,klev), 
INTENT(IN)   :: rhcl   
 
   33   REAL, 
DIMENSION(klev), 
INTENT(IN)        :: presnivs
 
   37   REAL, 
DIMENSION(klon,klev), 
INTENT(OUT)     :: mass_solu_aero    
 
   38   REAL, 
DIMENSION(klon,klev), 
INTENT(OUT)     :: mass_solu_aero_pi 
 
   39   REAL, 
DIMENSION(klon,klev,naero_grp,nbands), 
INTENT(OUT) :: tau_aero    
 
   40   REAL, 
DIMENSION(klon,klev,naero_grp,nbands), 
INTENT(OUT) :: piz_aero    
 
   41   REAL, 
DIMENSION(klon,klev,naero_grp,nbands), 
INTENT(OUT) :: cg_aero     
 
   45   REAL, 
DIMENSION(klon,nwave,naero_tot), 
INTENT(OUT)       :: tausum_aero
 
   46   REAL, 
DIMENSION(klon,klev,nwave,naero_tot), 
INTENT(OUT)  :: tau3d_aero
 
   50   REAL, 
DIMENSION(klon)        :: aerindex 
 
   51   REAL, 
DIMENSION(klon,klev)   :: sulfate  
 
   52   REAL, 
DIMENSION(klon,klev)   :: bcsol    
 
   53   REAL, 
DIMENSION(klon,klev)   :: bcins    
 
   54   REAL, 
DIMENSION(klon,klev)   :: pomsol   
 
   55   REAL, 
DIMENSION(klon,klev)   :: pomins   
 
   56   REAL, 
DIMENSION(klon,klev)   :: cidust    
 
   57   REAL, 
DIMENSION(klon,klev)   :: sscoarse  
 
   58   REAL, 
DIMENSION(klon,klev)   :: sssupco   
 
   59   REAL, 
DIMENSION(klon,klev)   :: ssacu     
 
   60   REAL, 
DIMENSION(klon,klev)   :: sulfate_pi
 
   61   REAL, 
DIMENSION(klon,klev)   :: bcsol_pi
 
   62   REAL, 
DIMENSION(klon,klev)   :: bcins_pi
 
   63   REAL, 
DIMENSION(klon,klev)   :: pomsol_pi
 
   64   REAL, 
DIMENSION(klon,klev)   :: pomins_pi
 
   65   REAL, 
DIMENSION(klon,klev)   :: cidust_pi
 
   66   REAL, 
DIMENSION(klon,klev)   :: sscoarse_pi
 
   67   REAL, 
DIMENSION(klon,klev)   :: sssupco_pi
 
   68   REAL, 
DIMENSION(klon,klev)   :: ssacu_pi
 
   69   REAL, 
DIMENSION(klon,klev)   :: pdel
 
   70   REAL, 
DIMENSION(klon,klev,naero_tot) :: m_allaer
 
   71   REAL, 
DIMENSION(klon,klev,naero_tot) :: m_allaer_pi 
 
   81   IF ( flag_aerosol .EQ. 1 .OR. &
 
   82        flag_aerosol .EQ. 6 ) 
THEN  
   84      CALL readaerosol_interp(
id_asso4m_phy, itap, pdtphys, rjourvrai, debut, pplay, paprs, t_seri, sulfate, sulfate_pi,
loadso4)
 
   86      sulfate(:,:) = 0. ; sulfate_pi(:,:) = 0.
 
   91   IF ( flag_aerosol .EQ. 2 .OR. &
 
   92        flag_aerosol .EQ. 6 ) 
THEN  
   95      CALL readaerosol_interp(
id_asbcm_phy, itap, pdtphys, rjourvrai, debut, pplay, paprs, t_seri, bcsol, bcsol_pi, 
load_tmp1 )
 
   96      CALL readaerosol_interp(
id_aibcm_phy, itap, pdtphys, rjourvrai, debut, pplay, paprs, t_seri, bcins, bcins_pi, 
load_tmp2 )
 
   99      bcsol(:,:) = 0. ; bcsol_pi(:,:) = 0.
 
  100      bcins(:,:) = 0. ; bcins_pi(:,:) = 0.
 
  106   IF ( flag_aerosol .EQ. 3 .OR. &
 
  107        flag_aerosol .EQ. 6 ) 
THEN 
  109      CALL readaerosol_interp(
id_aspomm_phy, itap, pdtphys, rjourvrai, debut, pplay, paprs, t_seri, pomsol, pomsol_pi, 
load_tmp3)
 
  110      CALL readaerosol_interp(
id_aipomm_phy, itap, pdtphys, rjourvrai, debut, pplay, paprs, t_seri, pomins, pomins_pi, 
load_tmp4)
 
  113      pomsol(:,:) = 0. ; pomsol_pi(:,:) = 0.
 
  114      pomins(:,:) = 0. ; pomins_pi(:,:) = 0.
 
  120   IF (flag_aerosol .EQ. 4 .OR. &
 
  121       flag_aerosol .EQ. 6 ) 
THEN  
  123       CALL readaerosol_interp(
id_ssssm_phy ,itap, pdtphys, rjourvrai, debut, pplay, paprs, t_seri, sssupco, sssupco_pi, 
load_tmp5) 
 
  124       CALL readaerosol_interp(
id_csssm_phy ,itap, pdtphys, rjourvrai, debut, pplay, paprs, t_seri, sscoarse,sscoarse_pi, 
load_tmp6) 
 
  125       CALL readaerosol_interp(
id_asssm_phy ,itap, pdtphys, rjourvrai, debut, pplay, paprs, t_seri, ssacu, ssacu_pi, 
load_tmp7) 
 
  128      sscoarse(:,:) = 0. ; sscoarse_pi(:,:) = 0. 
 
  129      ssacu(:,:)    = 0. ; ssacu_pi(:,:) = 0. 
 
  130      sssupco(:,:)  = 0. ; sssupco_pi = 0. 
 
  135   IF (flag_aerosol .EQ. 5 .OR.  &
 
  136       flag_aerosol .EQ. 6 ) 
THEN  
  138       CALL readaerosol_interp(
id_cidustm_phy, itap, pdtphys, rjourvrai, debut, pplay, paprs, t_seri, cidust, cidust_pi, 
loaddust) 
 
  141       cidust(:,:) = 0. ; cidust_pi(:,:) = 0. 
 
  180   mass_solu_aero(:,:)    = sulfate(:,:)    + bcsol(:,:)    + pomsol(:,:) + ssacu(:,:)
 
  181   mass_solu_aero_pi(:,:) = sulfate_pi(:,:) + bcsol_pi(:,:) + pomsol_pi(:,:) + ssacu_pi(:,:)
 
  189         pdel(i,k) = paprs(i,k) - paprs(i,k+1)
 
  199           pdel, m_allaer, pdtphys, rhcl, & 
 
  200           tau_aero, piz_aero, cg_aero,   &
 
  201           m_allaer_pi, flag_aerosol, &
 
  202           pplay, t_seri, presnivs) 
 
  207           pdtphys, rhcl, aerindex,       & 
 
  208           flag_aerosol, pplay, t_seri,   &
 
  209           tausum_aero, tau3d_aero, presnivs)
 
  212      CALL aeropt(pplay, paprs, t_seri, sulfate, rhcl, &
 
  213           tau_aero(:,:,
id_asso4m_phy,:), piz_aero(:,:,
id_asso4m_phy,:), cg_aero(:,:,
id_asso4m_phy,:), aerindex)
 
integer, parameter id_asssm_phy
 
integer, parameter id_aipomm_phy
 
real, dimension(:), allocatable, save load_tmp3
 
integer, parameter id_aspomm_phy
 
real, dimension(:), allocatable, save sconcdust
 
real, dimension(:,:), allocatable, save concno3
 
real, dimension(:), allocatable, save load_tmp2
 
real, dimension(:), allocatable, save sconcso4
 
integer, parameter id_csssm_phy
 
real, dimension(:), allocatable, save loaddust
 
subroutine aeropt_2bands(pdel, m_allaer, delt, RHcl, tau_allaer, piz_allaer, cg_allaer, m_allaer_pi, flag_aerosol, pplay, t_seri, presnivs)
 
integer, parameter id_cino3m_phy
 
real, dimension(:), allocatable, save sconcbc
 
real, dimension(:,:), allocatable, save concoa
 
real, dimension(:), allocatable, save load_tmp4
 
real, dimension(:), allocatable, save load_tmp5
 
integer, parameter id_asbcm_phy
 
subroutine aeropt_5wv(pdel, m_allaer, delt, RHcl, ai, flag_aerosol, pplay, t_seri, tausum, tau, presnivs)
 
real, dimension(:), allocatable, save load_tmp7
 
real, dimension(:), allocatable, save loadbc
 
real, dimension(:), allocatable, save sconcss
 
integer, parameter id_aibcm_phy
 
!$Id itapm1 ENDIF!IM on interpole les champs sur les niveaux STD de pression!IM a chaque pas de temps de la physique c!positionnement de l argument logique a false c!pour ne pas recalculer deux fois la meme chose!c!a cet effet un appel a plevel_new a ete deplace c!a la fin de la serie d appels c!la boucle DO nlevSTD a ete internalisee c!dans d ou la creation de cette routine c c!CALL pplay
 
subroutine readaerosol_interp(id_aero, itap, pdtphys, r_day, first, pplay, paprs, t_seri, mass_out, pi_mass_out, load_src)
 
integer, parameter id_asno3m_phy
 
!$Id itapm1 ENDIF!IM on interpole les champs sur les niveaux STD de pression!IM a chaque pas de temps de la physique c!positionnement de l argument logique a false c!pour ne pas recalculer deux fois la meme chose!c!a cet effet un appel a plevel_new a ete deplace c!a la fin de la serie d appels c!la boucle DO nlevSTD a ete internalisee c!dans d ou la creation de cette routine c c!CALL ulevSTD CALL &zphi philevSTD CALL &zx_rh rhlevSTD!DO klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon du jour ou toutes les read_climoz CALL &zphi geo500!IM on interpole a chaque pas de temps le paprs
 
real, dimension(:,:), allocatable, save concss
 
integer, parameter id_csno3m_phy
 
integer, parameter id_asso4m_phy
 
real, dimension(:), allocatable, save load_tmp6
 
real, dimension(:), allocatable, save sconcno3
 
real, dimension(:), allocatable, save loadso4
 
!$Id zjulian!correction pour l heure initiale!jyg!jyg CALL pdtphys
 
real, dimension(:), allocatable, save load_tmp1
 
subroutine aeropt(pplay, paprs, t_seri, msulfate, rhcl, tau_ae, piz_ae, cg_ae, ai)
 
real, dimension(:,:), allocatable, save concbc
 
integer, parameter id_ssssm_phy
 
real, dimension(:), allocatable, save loadss
 
real, dimension(:,:), allocatable, save concso4
 
subroutine readaerosol_optic(debut, new_aod, flag_aerosol, itap, rjourvrai, pdtphys, pplay, paprs, t_seri, rhcl, presnivs, mass_solu_aero, mass_solu_aero_pi, tau_aero, piz_aero, cg_aero, tausum_aero, tau3d_aero)
 
real, dimension(:,:), allocatable, save concdust
 
integer, parameter id_csso4m_phy
 
real, dimension(:), allocatable, save sconcoa
 
real, dimension(:), allocatable, save loadoa
 
integer, parameter id_cidustm_phy