Ignore:
Timestamp:
Jun 17, 2022, 4:24:49 PM (3 years ago)
Author:
lguez
Message:

Sync latest trunk changes to branch LMDZ-ECRAD.

Location:
LMDZ6/branches/LMDZ-ECRAD
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/branches/LMDZ-ECRAD

  • LMDZ6/branches/LMDZ-ECRAD/libf/phylmd/rrtm/abor1.intfb.h

    r1990 r4171  
    11INTERFACE
    22SUBROUTINE ABOR1(CDTEXT)
    3 CHARACTER(LEN=*) :: CDTEXT
     3CHARACTER(LEN=*), INTENT(IN) :: CDTEXT
    44END SUBROUTINE ABOR1
    55END INTERFACE
  • LMDZ6/branches/LMDZ-ECRAD/libf/phylmd/rrtm/aeropt_6bands_rrtm.F90

    r3480 r4171  
    318318   ! Dust insoluble
    319319  0.894, 0.902, 0.937, 0.980, 0.993, 0.967, &
    320    ! BC insoluble
     320   ! BC insoluble
     321  0.480, 0.469, 0.456, 0.427, 0.349, 0.196, &
     322   ! POM insoluble
     323  0.956, 0.965, 0.969, 0.953, 0.892, 0.826, &
     324   ! Nitrate insoluble
     325  1.000, 1.000, 1.000, 1.000, 0.999, 0.707 /
     326
     327  DATA cg_aeri_6bands/ &
     328   ! Dust insoluble
     329  0.756, 0.737, 0.713, 0.701, 0.696, 0.672, &
     330   ! BC insoluble
    321331  0.820, 0.760, 0.695, 0.603, 0.469, 0.276, &
    322332   ! POM insoluble
    323333  0.687, 0.685, 0.673, 0.637, 0.553, 0.340, &
    324    ! Nitrate insoluble
    325   1.000, 1.000, 1.000, 1.000, 0.999, 0.707 /
    326 
    327   DATA cg_aeri_6bands/ &
    328    ! Dust insoluble
    329   0.756, 0.737, 0.713, 0.701, 0.696, 0.672, &
    330    ! BC insoluble
    331   0.480, 0.469, 0.456, 0.427, 0.349, 0.196, &
    332    ! POM insoluble
    333   0.956, 0.965, 0.969, 0.953, 0.892, 0.826, &
    334334   ! Nitrate insoluble
    335335  0.765, 0.754, 0.743, 0.737, 0.739, 0.651 /
  • LMDZ6/branches/LMDZ-ECRAD/libf/phylmd/rrtm/readaerosol_optic_rrtm.F90

    r3630 r4171  
    2020       load_tmp8,load_tmp9,load_tmp10
    2121
    22   USE infotrac_phy
     22  USE infotrac_phy, ONLY: tracers, nqtot, nbtr
    2323  USE YOMCST
    2424
     
    9191  integer :: id_ASBCM, id_ASPOMM, id_ASSO4M, id_ASMSAM, id_CSSO4M, id_CSMSAM, id_SSSSM
    9292  integer :: id_CSSSM, id_ASSSM, id_CIDUSTM, id_AIBCM, id_AIPOMM, id_ASNO3M, id_CSNO3M, id_CINO3M
    93   INTEGER :: k, i
     93  INTEGER :: k, i, iq, itr
    9494
    9595  !--air density
     
    107107     !--convert to ug m-3 unit for consistency with offline fields
    108108     !
    109      DO i=1,nbtr
    110         SELECT CASE(trim(solsym(i)))
    111            CASE ("ASBCM")
    112               id_ASBCM = i
    113            CASE ("ASPOMM")
    114               id_ASPOMM = i
    115            CASE ("ASSO4M")
    116               id_ASSO4M = i
    117            CASE ("ASMSAM")
    118               id_ASMSAM = i
    119            CASE ("CSSO4M")
    120               id_CSSO4M = i
    121            CASE ("CSMSAM")
    122               id_CSMSAM = i
    123            CASE ("SSSSM")
    124               id_SSSSM = i
    125            CASE ("CSSSM")
    126               id_CSSSM = i
    127            CASE ("ASSSM")
    128               id_ASSSM = i
    129            CASE ("CIDUSTM")
    130               id_CIDUSTM = i
    131            CASE ("AIBCM")
    132               id_AIBCM = i
    133            CASE ("AIPOMM")
    134               id_AIPOMM = i
    135            CASE ("ASNO3M")
    136               id_ASNO3M = i
    137            CASE ("CSNO3M")
    138               id_CSNO3M = i
    139            CASE ("CINO3M")
    140               id_CINO3M = i
    141            END SELECT
    142      ENDDO
     109     itr = 0
     110     DO iq = 1,nqtot
     111        IF(.NOT. tracers(iq)%isInPhysics) CYCLE
     112        itr = itr+1
     113        SELECT CASE(trim(tracers(iq)%name))
     114           CASE ("ASBCM");  id_ASBCM  = itr
     115           CASE ("ASPOMM"); id_ASPOMM = itr
     116           CASE ("ASSO4M"); id_ASSO4M = itr
     117           CASE ("ASMSAM"); id_ASMSAM = itr
     118           CASE ("CSSO4M"); id_CSSO4M = itr
     119           CASE ("CSMSAM"); id_CSMSAM = itr
     120           CASE ("SSSSM");  id_SSSSM  = itr
     121           CASE ("CSSSM");  id_CSSSM  = itr
     122           CASE ("ASSSM");  id_ASSSM  = itr
     123           CASE ("CIDUSTM");id_CIDUSTM= itr
     124           CASE ("AIBCM");  id_AIBCM  = itr
     125           CASE ("AIPOMM"); id_AIPOMM = itr
     126           CASE ("ASNO3M"); id_ASNO3M = itr
     127           CASE ("CSNO3M"); id_CSNO3M = itr
     128           CASE ("CINO3M"); id_CINO3M = itr
     129        END SELECT
     130     END DO
    143131
    144132     bcsol(:,:)        =   tr_seri(:,:,id_ASBCM)                         *zrho(:,:)*1.e9  ! ASBCM
  • LMDZ6/branches/LMDZ-ECRAD/libf/phylmd/rrtm/recmwf_aero.F90

    r3479 r4171  
    3636 & PTOPLWAIAERO,PSOLLWAIAERO,&
    3737 & PLWADAERO,& !--NL
     38!--ajout volmip
     39 & volmip_solsw, flag_volc_surfstrat,&
    3840!..end
    3941 & ok_ade, ok_aie, ok_volcan, flag_aerosol,flag_aerosol_strat,&
     
    259261REAL(KIND=JPRB)   ,INTENT(OUT)   :: PFLCCDN(KPROMA,KLEV+1) ! LW clear sky clean (no aerosol) flux down
    260262REAL(KIND=JPRB)   ,INTENT(OUT)   :: PFLCCUP(KPROMA,KLEV+1) ! LW clear sky clean (no aerosol) flux up
     263!--ajout VOLMIP
     264REAL(KIND=JPRB)   ,INTENT(OUT)   :: volmip_solsw(KPROMA) ! SW clear sky in the case of VOLMIP
     265INTEGER, INTENT(IN)              :: flag_volc_surfstrat !--VOlMIP Modif
    261266
    262267!     ==== COMPUTED IN RADITE ===
     
    795800ENDIF
    796801
     802!--VolMIP Strat/Surf
     803!--only ok_ade + ok_aie case treated
     804IF (ok_ade.AND.ok_aie.AND.ok_volcan) THEN
     805   !--in this case the fluxes used for the heating rates come from case 4 but SW surface radiation is kept from case 2
     806   IF (flag_volc_surfstrat.EQ.2) THEN ! STRAT HEATING
     807      volmip_solsw(:)= ZFSDN_AERO(:,1,2)-ZFSUP_AERO(:,1,2)
     808   ELSEIF (flag_volc_surfstrat.EQ.1) THEN ! SURF COOLING
     809      !--in this case the fluxes used for the heating rates come from case 2 but SW surface radiation is kept from case 4
     810      PFSUP(:,:) =    ZFSUP_AERO(:,:,2)
     811      PFSDN(:,:) =    ZFSDN_AERO(:,:,2)
     812      PFSCUP(:,:) =   ZFSUP0_AERO(:,:,2)
     813      PFSCDN(:,:) =   ZFSDN0_AERO(:,:,2)
     814      PFLUX(:,1,:) =  LWUP_AERO(:,:,2)
     815      PFLUX(:,2,:) =  LWDN_AERO(:,:,2)
     816      PFLUC(:,1,:) =  LWDN0_AERO(:,:,2)
     817      PFLUC(:,2,:) =  LWDN0_AERO(:,:,2)
     818      volmip_solsw(:)= ZFSDN_AERO(:,1,4)-ZFSUP_AERO(:,1,4)
     819   ENDIF
     820ENDIF
     821!--End VolMIP Strat/Surf
     822
    797823IF (swaerofree_diag) THEN
    798824! copy shortwave clear-sky clean (no aerosol) case
  • LMDZ6/branches/LMDZ-ECRAD/libf/phylmd/rrtm/tpm_fft.F90

    r2010 r4171  
    77
    88TYPE FFT_TYPE
    9   REAL(KIND=JPRB)   ,POINTER :: TRIGS(:,:)
    10   INTEGER(KIND=JPIM),POINTER :: NFAX(:,:)
     9  REAL(KIND=JPRB)   ,ALLOCATABLE :: TRIGS(:,:)
     10  INTEGER(KIND=JPIM),ALLOCATABLE :: NFAX(:,:)
    1111END TYPE FFT_TYPE
    1212
Note: See TracChangeset for help on using the changeset viewer.