Ignore:
Timestamp:
Jun 6, 2016, 4:04:57 PM (8 years ago)
Author:
Laurent Fairhead
Message:

Merged trunk changes r2487:2541 into testing branch

Location:
LMDZ5/branches/testing
Files:
1 deleted
4 edited
3 copied

Legend:

Unmodified
Added
Removed
  • LMDZ5/branches/testing

  • LMDZ5/branches/testing/libf/phylmd/rrtm/aeropt_lw_rrtm.F90

    r2258 r2542  
    11!
    22! aeropt_lw_rrtm.F90 2014-05-13 C. Kleinschmitt
     3!                    2016-05-03 O. Boucher
    34!
     5! This routine feeds aerosol LW properties to RRTM
     6! we only consider absorption (not scattering)
    47
    5 SUBROUTINE AEROPT_LW_RRTM
     8SUBROUTINE AEROPT_LW_RRTM(aerosol_couple,paprs,tr_seri)
    69
     10  USE dimphy
     11  USE aero_mod
     12  USE infotrac_phy
    713  USE phys_state_var_mod, ONLY : tau_aero_lw_rrtm
     14  USE YOERAD, ONLY : NLW
    815
    916  IMPLICIT NONE
    1017
    11   tau_aero_lw_rrtm(:,:,:,:) = 1.e-15
     18  INCLUDE "YOMCST.h"
     19  INCLUDE "clesphys.h"
     20  !
     21  ! Input arguments:
     22  !
     23  LOGICAL, INTENT(IN)                         :: aerosol_couple
     24  REAL, DIMENSION(klon,klev+1), INTENT(in)    :: paprs
     25  REAL, DIMENSION(klon,klev,nbtr), INTENT(in) :: tr_seri
     26  !
     27  REAL, DIMENSION(klon,klev) :: zdp, mass_temp
     28  !
     29  !
     30  INTEGER inu, i, k
     31  INTEGER :: id_ASBCM, id_ASPOMM, id_ASSO4M, id_ASMSAM, id_CSSO4M, id_CSMSAM, id_SSSSM
     32  INTEGER :: id_CSSSM, id_ASSSM, id_CIDUSTM, id_AIBCM, id_AIPOMM, id_ASNO3M, id_CSNO3M, id_CINO3M
    1233
     34  !
     35  !--absorption coefficient for CIDUST
     36  REAL:: alpha_abs_CIDUST_16bands(nbands_lw_rrtm)   !--unit m2/g
     37  DATA alpha_abs_CIDUST_16bands /              &
     38       0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, &
     39       0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0  /
     40  !
     41  IF (NLW.NE.nbands_lw_rrtm) THEN
     42     print *,'Erreur NLW doit etre egal a 16 pour cette routine'
     43     stop
     44  ENDIF
     45  !
     46  IF (aerosol_couple) THEN
     47  !
     48      do i=1,nbtr
     49      select case(trim(solsym(i)))
     50         case ("ASBCM")
     51            id_ASBCM = i
     52         case ("ASPOMM")
     53            id_ASPOMM = i
     54         case ("ASSO4M")
     55            id_ASSO4M = i
     56         case ("ASMSAM")
     57            id_ASMSAM = i
     58         case ("CSSO4M")
     59            id_CSSO4M = i
     60         case ("CSMSAM")
     61            id_CSMSAM = i
     62         case ("SSSSM")
     63            id_SSSSM = i
     64         case ("CSSSM")
     65            id_CSSSM = i
     66         case ("ASSSM")
     67            id_ASSSM = i
     68         case ("CIDUSTM")
     69            id_CIDUSTM = i
     70         case ("AIBCM")
     71            id_AIBCM = i
     72         case ("AIPOMM")
     73            id_AIPOMM = i
     74         case ("ASNO3M")
     75            id_ASNO3M = i
     76         case ("CSNO3M")
     77            id_CSNO3M = i
     78         case ("CINO3M")
     79            id_CINO3M = i
     80         end select
     81    enddo
     82    !
     83    DO k=1, klev
     84       zdp(:,k) = (paprs(:,k)-paprs(:,k+1))/RG !--kg/m2
     85    ENDDO
     86    !
     87    !--for now only consider dust
     88    mass_temp(:,:)=tr_seri(:,:,id_CIDUSTM)  !--kg/kg
     89    !
     90    DO inu=1,NLW
     91      !
     92      !--total aerosol
     93      tau_aero_lw_rrtm(:,:,2,inu) = mass_temp(:,:)*zdp(:,:)*1000.*alpha_abs_CIDUST_16bands(inu)
     94      !--no aerosol at all
     95      tau_aero_lw_rrtm(:,:,1,inu) = 0.0
     96      !
     97    ENDDO
     98    !
     99    !--avoid very small values
     100    tau_aero_lw_rrtm = MAX(tau_aero_lw_rrtm,1.e-15)
     101    !
     102  ELSE !--not aerosol_couple
     103    !
     104    !--no LW effects if not coupled to INCA
     105    tau_aero_lw_rrtm = 1.e-15
     106  ENDIF
     107  !
    13108END SUBROUTINE AEROPT_LW_RRTM
  • LMDZ5/branches/testing/libf/phylmd/rrtm/readaerosol_optic_rrtm.F90

    r2408 r2542  
    1919       load_tmp1,load_tmp2,load_tmp3,load_tmp4,load_tmp5,load_tmp6,load_tmp7
    2020
    21   USE infotrac
     21  USE infotrac_phy
    2222
    2323  IMPLICIT NONE
  • LMDZ5/branches/testing/libf/phylmd/rrtm/recmwf_aero.F90

    r2160 r2542  
    161161IMPLICIT NONE
    162162INCLUDE "clesphys.h"
    163 
    164163
    165164INTEGER(KIND=JPIM),INTENT(IN)    :: KPROMA
     
    306305! not ok_ade and not ok_aie = 1 to proceed
    307306! therefore the cases have the following corresponding switches
    308 ! 1 = not ok_ade or not ok_aie
    309 ! 2 = ok_aie
    310 ! 3 = ok_ade
     307! 1 = not ok_ade and not ok_aie OR not ok_ade and ok_aie and swaero_diag OR ok_ade and not ok_aie and swaero_diag
     308! 2 = not ok_ade and ok_aie OR ok_aie and ok_ade and swaero_diag
     309! 3 = ok_ade and not ok_aie OR ok_aie and ok_ade and swaero_diag
    311310! 4 = ok_ade and ok_aie
    312311! 5 = no aerosol feedback wanted or no aerosol at all
     
    445444IF (flag_aerosol .GT. 0 .OR. flag_aerosol_strat) THEN
    446445
    447 IF ( .not. ok_ade .or. .not. ok_aie ) THEN
     446!--Case 1
     447IF ( ( .not. ok_ade .AND. .not. ok_aie ) .OR.             &
     448   & ( .not. ok_ade .AND. ok_aie .AND. swaero_diag ) .OR. &
     449   & ( ok_ade .AND. .not. ok_aie .AND. swaero_diag ) ) THEN
    448450
    449451! natural aerosols for direct and indirect effect
     
    483485ENDIF
    484486
    485 IF (ok_aie) THEN
     487!--Case 2
     488IF ( ( .not. ok_ade .AND. ok_aie ) .OR. &
     489   & ( ok_ade .AND. ok_aie .AND. swaero_diag ) ) THEN
    486490
    487491! natural aerosols for direct indirect effect
     
    521525ENDIF ! ok_aie     
    522526
    523 IF (ok_ade) THEN
     527!--Case 3
     528IF ( ( ok_ade .AND. .not. ok_aie ) .OR. &
     529   & ( ok_ade .AND. ok_aie .AND. swaero_diag ) ) THEN
    524530
    525531! direct effect of total aerosol activated
     
    559565ENDIF !-end ok_ade
    560566
     567!--Case 4
    561568IF (ok_ade .and. ok_aie) THEN
    562569
Note: See TracChangeset for help on using the changeset viewer.