source: LMDZ6/branches/IPSLCM6.0.15/libf/phylmd/rrtm/aeropt_lw_rrtm.F90 @ 3318

Last change on this file since 3318 was 3318, checked in by jghattas, 6 years ago

Integration des developpements fait sur la trunk par O. Boucher concernant le MACspV2 aerosol plume climatology(nouveau option flag_aersol=7). Les commits suivants fait sur le trunk sont ici merge : [3274], [3279], [3287], [3288], [3290], [3295], [3296], [3297].
Tout les modifications dans newmicro.f90 ne sont pas retenu mais les changemnets lie au flag_aerosol=7 sont prise.

File size: 2.4 KB
RevLine 
[2214]1!
2! aeropt_lw_rrtm.F90 2014-05-13 C. Kleinschmitt
[2501]3!                    2016-05-03 O. Boucher
[2738]4!                    2016-12-17 O. Boucher
[2214]5!
[2501]6! This routine feeds aerosol LW properties to RRTM
7! we only consider absorption (not scattering)
[2738]8! we only consider dust for now
[2214]9
[2738]10SUBROUTINE AEROPT_LW_RRTM(ok_alw, pdel, zrho, flag_aerosol, m_allaer, m_allaer_pi)
[2214]11
[2501]12  USE dimphy
13  USE aero_mod
[2748]14  USE phys_state_var_mod, ONLY: tau_aero_lw_rrtm
15  USE YOERAD, ONLY: NLW
16  USE YOMCST, ONLY: RG
[2214]17
18  IMPLICIT NONE
19
[2501]20  INCLUDE "clesphys.h"
21  !
22  ! Input arguments:
23  !
[2739]24  LOGICAL, INTENT(IN)                              :: ok_alw
25  INTEGER, INTENT(IN)                              :: flag_aerosol
[2748]26  REAL, DIMENSION(klon,klev), INTENT(IN)           :: pdel, zrho
27  REAL, DIMENSION(klon,klev,naero_tot), INTENT(IN) :: m_allaer, m_allaer_pi
[2501]28  !
[2503]29  INTEGER inu, i, k
[2738]30  REAL :: zdh(klon,klev)
31  REAL :: tmp_var, tmp_var_pi
[2748]32  CHARACTER*20 modname
[2501]33  !
34  !--absorption coefficient for CIDUST
35  REAL:: alpha_abs_CIDUST_16bands(nbands_lw_rrtm)   !--unit m2/g
[2739]36  DATA alpha_abs_CIDUST_16bands /                         &
37  0.001, 0.003, 0.005, 0.006, 0.012, 0.030, 0.148, 0.098, &
38  0.017, 0.053, 0.031, 0.008, 0.010, 0.011, 0.013, 0.015  /
[2501]39  !
[2748]40  modname='aeropt_lw_rrtm'
41  !
[2501]42  IF (NLW.NE.nbands_lw_rrtm) THEN
[2748]43    CALL abort_physic(modname,'Erreur NLW doit etre egal a 16 pour cette routine',1)
[2501]44  ENDIF
45  !
[2738]46  IF (ok_alw) THEN                                   !--aerosol LW effects
47   !
[3318]48   IF (flag_aerosol.EQ.5.OR.flag_aerosol.EQ.6.OR.flag_aerosol.EQ.7) THEN  !-Dust
[2501]49    !
[2739]50    zdh(:,:)=pdel(:,:)/(RG*zrho(:,:))      ! m
[2738]51    !
[2501]52    DO k=1, klev
[2738]53      DO i=1, klon
54         !
[2739]55         tmp_var   =m_allaer(i,k,id_CIDUSTM_phy)   /1.e6*zdh(i,k)  !--g/m2
56         tmp_var_pi=m_allaer_pi(i,k,id_CIDUSTM_phy)/1.e6*zdh(i,k)  !--g/m2
[2738]57         !
58         DO inu=1, NLW
59           !
60           !--total aerosol
61           tau_aero_lw_rrtm(i,k,2,inu) = MAX(1.e-15,tmp_var*alpha_abs_CIDUST_16bands(inu))
62           !--natural aerosol
[2739]63!           tau_aero_lw_rrtm(:,:,1,inu) = MAX(1.e-15,tmp_var_pi*alpha_abs_CIDUST_16bands(inu))
64           tau_aero_lw_rrtm(i,k,1,inu) = 1.e-15  !--test
[2738]65           !
66         ENDDO
67      ENDDO
[2501]68      !
69    ENDDO
[2739]70    !
[2738]71   ENDIF
72   !
73  ELSE !--no aerosol LW effects
[2501]74    !
75    tau_aero_lw_rrtm = 1.e-15
76  ENDIF
77  !
[2214]78END SUBROUTINE AEROPT_LW_RRTM
Note: See TracBrowser for help on using the repository browser.