Ignore:
Timestamp:
Apr 13, 2010, 5:12:56 PM (15 years ago)
Author:
Laurent Fairhead
Message:

Additions to aerosol outputs for CMIP5 exercise
(Needed because of chageset r1346 LF)


Additions aux sorties aérosols pour l'exercice CMIP5
(Nécessaires suite au changeset r1346 LF)

Michael, Anne

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ4/branches/LMDZ4V5.0-dev/libf/phylmd/readaerosol_optic.F90

    r1279 r1347  
    1414  USE dimphy
    1515  USE aero_mod
     16  USE phys_local_var_mod, only: sconcso4,sconcoa,sconcbc,sconcss,sconcdust, &
     17      concso4,concoa,concbc,concss,concdust,loadso4,loadoa,loadbc,loadss,loaddust, &
     18      load_tmp1,load_tmp2,load_tmp3,load_tmp4,load_tmp5,load_tmp6,load_tmp7
    1619  IMPLICIT NONE
    1720
     
    7679       flag_aerosol .EQ. 6 ) THEN
    7780
    78      CALL readaerosol_interp(id_ASSO4M, itap, pdtphys, rjourvrai, debut, pplay, paprs, t_seri, sulfate, sulfate_pi)
     81     CALL readaerosol_interp(id_ASSO4M, itap, pdtphys, rjourvrai, debut, pplay, paprs, t_seri, sulfate, sulfate_pi,loadso4)
    7982  ELSE
    8083     sulfate(:,:) = 0. ; sulfate_pi(:,:) = 0.
     84     loadso4=0.
    8185  END IF
    8286
     
    8690
    8791     ! Get bc aerosol distribution
    88      CALL readaerosol_interp(id_ASBCM, itap, pdtphys, rjourvrai, debut, pplay, paprs, t_seri, bcsol, bcsol_pi )
    89      CALL readaerosol_interp(id_AIBCM, itap, pdtphys, rjourvrai, debut, pplay, paprs, t_seri, bcins, bcins_pi )
     92     CALL readaerosol_interp(id_ASBCM, itap, pdtphys, rjourvrai, debut, pplay, paprs, t_seri, bcsol, bcsol_pi, load_tmp1 )
     93     CALL readaerosol_interp(id_AIBCM, itap, pdtphys, rjourvrai, debut, pplay, paprs, t_seri, bcins, bcins_pi, load_tmp2 )
     94     loadbc(:)=load_tmp1(:)+load_tmp2(:)
    9095  ELSE
    9196     bcsol(:,:) = 0. ; bcsol_pi(:,:) = 0.
    9297     bcins(:,:) = 0. ; bcins_pi(:,:) = 0.
     98     loadbc=0.
    9399  END IF
    94100
     
    98104       flag_aerosol .EQ. 6 ) THEN
    99105
    100      CALL readaerosol_interp(id_ASPOMM, itap, pdtphys, rjourvrai, debut, pplay, paprs, t_seri, pomsol, pomsol_pi)
    101      CALL readaerosol_interp(id_AIPOMM, itap, pdtphys, rjourvrai, debut, pplay, paprs, t_seri, pomins, pomins_pi)
     106     CALL readaerosol_interp(id_ASPOMM, itap, pdtphys, rjourvrai, debut, pplay, paprs, t_seri, pomsol, pomsol_pi, load_tmp3)
     107     CALL readaerosol_interp(id_AIPOMM, itap, pdtphys, rjourvrai, debut, pplay, paprs, t_seri, pomins, pomins_pi, load_tmp4)
     108     loadoa(:)=load_tmp3(:)+load_tmp4(:)
    102109  ELSE
    103110     pomsol(:,:) = 0. ; pomsol_pi(:,:) = 0.
    104111     pomins(:,:) = 0. ; pomins_pi(:,:) = 0.
     112     loadoa=0.
    105113  END IF
    106114
     
    110118      flag_aerosol .EQ. 6 ) THEN
    111119
    112       CALL readaerosol_interp(id_SSSSM ,itap, pdtphys, rjourvrai, debut, pplay, paprs, t_seri, sssupco, sssupco_pi)
    113       CALL readaerosol_interp(id_CSSSM ,itap, pdtphys, rjourvrai, debut, pplay, paprs, t_seri, sscoarse,sscoarse_pi)
    114       CALL readaerosol_interp(id_ASSSM ,itap, pdtphys, rjourvrai, debut, pplay, paprs, t_seri, ssacu, ssacu_pi)
    115 
     120      CALL readaerosol_interp(id_SSSSM ,itap, pdtphys, rjourvrai, debut, pplay, paprs, t_seri, sssupco, sssupco_pi, load_tmp5)
     121      CALL readaerosol_interp(id_CSSSM ,itap, pdtphys, rjourvrai, debut, pplay, paprs, t_seri, sscoarse,sscoarse_pi, load_tmp6)
     122      CALL readaerosol_interp(id_ASSSM ,itap, pdtphys, rjourvrai, debut, pplay, paprs, t_seri, ssacu, ssacu_pi, load_tmp7)
     123     loadss(:)=load_tmp5(:)+load_tmp6(:)+load_tmp7(:)
    116124  ELSE
    117125     sscoarse(:,:) = 0. ; sscoarse_pi(:,:) = 0.
    118126     ssacu(:,:)    = 0. ; ssacu_pi(:,:) = 0.
    119127     sssupco(:,:)  = 0. ; sssupco_pi = 0.
     128     loadss=0.
    120129  ENDIF
    121130
     
    124133      flag_aerosol .EQ. 6 ) THEN
    125134
    126       CALL readaerosol_interp(id_CIDUSTM, itap, pdtphys, rjourvrai, debut, pplay, paprs, t_seri, cidust, cidust_pi)
     135      CALL readaerosol_interp(id_CIDUSTM, itap, pdtphys, rjourvrai, debut, pplay, paprs, t_seri, cidust, cidust_pi, loaddust)
    127136
    128137  ELSE
    129138      cidust(:,:) = 0. ; cidust_pi(:,:) = 0.
     139      loaddust=0.
    130140  ENDIF
    131141
     
    198208  END IF
    199209
     210
     211! Diagnostics calculation for CMIP5 protocol
     212  sconcso4(:)=m_allaer(:,1,id_ASSO4M)*1.e-9
     213  sconcoa(:)=(m_allaer(:,1,id_ASPOMM)+m_allaer(:,1,id_AIPOMM))*1.e-9
     214  sconcbc(:)=(m_allaer(:,1,id_ASBCM)+m_allaer(:,1,id_AIBCM))*1.e-9
     215  sconcss(:)=(m_allaer(:,1,id_ASSSM)+m_allaer(:,1,id_CSSSM)+m_allaer(:,1,id_SSSSM))*1.e-9
     216  sconcdust(:)=m_allaer(:,1,id_CIDUSTM)*1.e-9
     217  concso4(:,:)=m_allaer(:,:,id_ASSO4M)*1.e-9
     218  concoa(:,:)=(m_allaer(:,:,id_ASPOMM)+m_allaer(:,:,id_AIPOMM))*1.e-9
     219  concbc(:,:)=(m_allaer(:,:,id_ASBCM)+m_allaer(:,:,id_AIBCM))*1.e-9
     220  concss(:,:)=(m_allaer(:,:,id_ASSSM)+m_allaer(:,:,id_CSSSM)+m_allaer(:,:,id_SSSSM))*1.e-9
     221  concdust(:,:)=m_allaer(:,:,id_CIDUSTM)*1.e-9
     222
     223
    200224END SUBROUTINE readaerosol_optic
Note: See TracChangeset for help on using the changeset viewer.