Changeset 3607 for LMDZ6/branches


Ignore:
Timestamp:
Nov 29, 2019, 9:08:29 AM (5 years ago)
Author:
jghattas
Message:

Revert commit [3604]. This is only done temporary because we need to make a correction for Jean-Zay and to have a revision without these changes to go into IPSLCM6.1.10.

Location:
LMDZ6/branches/IPSLCM6.0.15/libf
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/branches/IPSLCM6.0.15/libf/dynphy_lonlat/phylmd/etat0phys_netcdf.F90

    r3604 r3607  
    113113  INTEGER :: flag_aerosol
    114114  INTEGER :: flag_aerosol_strat
    115   INTEGER :: flag_volc_surfstrat
    116115  LOGICAL :: flag_aer_feedback
    117116  LOGICAL :: flag_bc_internal_mixture
     
    134133                   iflag_cldcon,                                          &
    135134                   iflag_ratqs,ratqsbas,ratqshaut,tau_ratqs,              &
    136                    ok_ade,ok_aie,ok_alw,ok_cdnc,ok_volcan,flag_volc_surfstrat,&
     135                   ok_ade, ok_aie, ok_alw, ok_cdnc, ok_volcan,            &
    137136                   aerosol_couple, chemistry_couple, flag_aerosol,        &
    138137                   flag_aerosol_strat,                                    &
  • LMDZ6/branches/IPSLCM6.0.15/libf/phylmd/conf_phys_m.F90

    r3604 r3607  
    1717       iflag_cld_th, &
    1818       iflag_ratqs,ratqsbas,ratqshaut,tau_ratqs, &
    19        ok_ade, ok_aie, ok_alw, ok_cdnc, ok_volcan, flag_volc_surfstrat, aerosol_couple, &
     19       ok_ade, ok_aie, ok_alw, ok_cdnc, ok_volcan, aerosol_couple, &
    2020       chemistry_couple, flag_aerosol, flag_aerosol_strat,         &
    2121       flag_aer_feedback, new_aod, &
     
    6464    ! bl95_b*: parameters in the formula to link CDNC to aerosol mass conc
    6565    ! ok_volcan: activate volcanic diags (SW heat & LW cool rate, SW & LW flux)
    66     ! flag_volc_surfstrat: VolMIP flag, activate forcing surface cooling rate (=1), strato heating rate (=2) or nothing (=0, default)
    6766    !
    6867
     
    7877    INTEGER              :: flag_aerosol
    7978    INTEGER              :: flag_aerosol_strat
    80     INTEGER              :: flag_volc_surfstrat !VolMIP flag for surf/strat runs
    8179    LOGICAL              :: flag_aer_feedback
    8280    LOGICAL              :: flag_bc_internal_mixture
     
    10199    INTEGER, SAVE       :: flag_aerosol_omp
    102100    INTEGER, SAVE       :: flag_aerosol_strat_omp
    103     INTEGER, SAVE       :: flag_volc_surfstrat_omp !VolMIP flag for surf/strat runs
    104101    LOGICAL, SAVE       :: flag_aer_feedback_omp
    105102    LOGICAL, SAVE       :: flag_bc_internal_mixture_omp
     
    410407
    411408    !
    412     !Config Key  = flag_volc_surfstrat
    413     !Config Desc = impose cooling rate at the surface (=1),
    414     !              heating rate in the strato (=2), or nothing (=0)
    415     !Config Def  = 0
    416     !Config Help = Used in radlwsw_m.F
    417     !
    418     flag_volc_surfstrat_omp = 0
    419     CALL getin('flag_volc_surfstrat', flag_volc_surfstrat_omp)
    420    
    421     !
    422409    !Config Key  = aerosol_couple
    423410    !Config Desc = read aerosol in file or calcul by inca
     
    23172304    ok_cdnc = ok_cdnc_omp
    23182305    ok_volcan = ok_volcan_omp
    2319     flag_volc_surfstrat=flag_volc_surfstrat_omp
    23202306    aerosol_couple = aerosol_couple_omp
    23212307    chemistry_couple = chemistry_couple_omp
     
    25362522    IF (flag_bc_internal_mixture .AND. flag_aerosol.NE.6) THEN
    25372523       CALL abort_physic('conf_phys', 'flag_bc_internal_mixture can only be activated with flag_aerosol=6',1)
    2538     ENDIF
    2539 
    2540     IF (flag_volc_surfstrat.LT.0.OR.flag_volc_surfstrat.GT.2) THEN
    2541        CALL abort_physic('conf_phys', 'flag_volc_surfstrat can only be 0 1 or 2',1)
    25422524    ENDIF
    25432525
     
    26552637    WRITE(lunout,*)' ok_ade = ',ok_ade
    26562638    WRITE(lunout,*)' ok_volcan = ',ok_volcan
    2657     WRITE(lunout,*)' flag_volc_surfstrat = ',flag_volc_surfstrat
    26582639    WRITE(lunout,*)' ok_aie = ',ok_aie
    26592640    WRITE(lunout,*)' ok_alw = ',ok_alw
  • LMDZ6/branches/IPSLCM6.0.15/libf/phylmd/physiq_mod.F90

    r3604 r3607  
    331331    !======================================================================
    332332    LOGICAL, SAVE :: ok_volcan ! pour activer les diagnostics volcaniques
    333     !$OMP THREADPRIVATE(ok_volcan)
    334     INTEGER, SAVE :: flag_volc_surfstrat ! pour imposer le cool/heat rate à la surf/strato
    335     !$OMP THREADPRIVATE(flag_volc_surfstrat)
    336333    LOGICAL ok_cvl  ! pour activer le nouveau driver pour convection KE
    337334    PARAMETER (ok_cvl=.TRUE.)
    338335    LOGICAL ok_gust ! pour activer l'effet des gust sur flux surface
    339336    PARAMETER (ok_gust=.FALSE.)
    340     INTEGER iflag_radia     ! active ou non le rayonnement (MPL)
    341     SAVE iflag_radia
     337    integer iflag_radia     ! active ou non le rayonnement (MPL)
     338    save iflag_radia
    342339    !$OMP THREADPRIVATE(iflag_radia)
    343340    !======================================================================
     
    12411238            fact_cldcon, facttemps,ok_newmicro,iflag_radia, &
    12421239            iflag_cld_th,iflag_ratqs,ratqsbas,ratqshaut,tau_ratqs, &
    1243             ok_ade, ok_aie, ok_alw, ok_cdnc, ok_volcan, flag_volc_surfstrat, aerosol_couple, &
     1240            ok_ade, ok_aie, ok_alw, ok_cdnc, ok_volcan, aerosol_couple, &
    12441241            chemistry_couple, flag_aerosol, flag_aerosol_strat,         &
    12451242            flag_aer_feedback, new_aod, &
     
    39163913               t_seri,q_seri,wo, &
    39173914               cldfrarad, cldemirad, cldtaurad, &
    3918                ok_ade.OR.flag_aerosol_strat.GT.0, ok_aie, ok_volcan, flag_volc_surfstrat, &
     3915               ok_ade.OR.flag_aerosol_strat.GT.0, ok_aie, ok_volcan, &
    39193916               flag_aerosol, flag_aerosol_strat, flag_aer_feedback, &
    39203917               tau_aero, piz_aero, cg_aero, &
     
    40023999                     t_seri,q_seri,wo, &
    40034000                     cldfrarad, cldemirad, cldtaurad, &
    4004                      ok_ade.OR.flag_aerosol_strat.GT.0, ok_aie, ok_volcan, flag_volc_surfstrat, &
     4001                     ok_ade.OR.flag_aerosol_strat.GT.0, ok_aie, ok_volcan, &
    40054002                     flag_aerosol, flag_aerosol_strat, flag_aer_feedback, &
    40064003                     tau_aero, piz_aero, cg_aero, &
  • LMDZ6/branches/IPSLCM6.0.15/libf/phylmd/radlwsw_m.F90

    r3604 r3607  
    1616   t,q,wo,&
    1717   cldfra, cldemi, cldtaupd,&
    18    ok_ade, ok_aie, ok_volcan, flag_volc_surfstrat, flag_aerosol,&
     18   ok_ade, ok_aie, ok_volcan, flag_aerosol,&
    1919   flag_aerosol_strat, flag_aer_feedback, &
    2020   tau_aero, piz_aero, cg_aero,&
     
    102102  ! ok_aie---input-L- apply the Aerosol Indirect Effect or not?
    103103  ! ok_volcan-input-L- activate volcanic diags (SW heat & LW cool rate, SW & LW flux)
    104   ! flag_volc_surfstrat-input-I- activate volcanic surf cooling or strato heating (or nothing)
    105104  ! flag_aerosol-input-I- aerosol flag from 0 to 6
    106105  ! flag_aerosol_strat-input-I- use stratospheric aerosols flag (0, 1, 2)
     
    201200  LOGICAL, INTENT(in)  :: ok_volcan                                      ! produce volcanic diags (SW/LW heat flux and rate)
    202201  LOGICAL              :: lldebug
    203   INTEGER, INTENT(in)  :: flag_volc_surfstrat                            ! allow to impose volcanic cooling rate at surf or heating in strato
    204202  INTEGER, INTENT(in)  :: flag_aerosol                                   ! takes value 0 (no aerosol) or 1 to 6 (aerosols)
    205203  INTEGER, INTENT(in)  :: flag_aerosol_strat                             ! use stratospheric aerosols
     
    321319  REAL(KIND=8) zswadaero(kdlon,kflev+1)                       ! SW Aerosol direct forcing
    322320  REAL(KIND=8) zlwadaero(kdlon,kflev+1)                       ! LW Aerosol direct forcing
    323 !-- VolMIP
    324   REAL(KIND=8) volmip_solsw(kdlon) ! SW clear sky in the case of VOLMIP
    325321!-LW by CK
    326322  REAL(KIND=8) ztoplwadaero(kdlon), zsollwadaero(kdlon)     ! LW Aerosol direct forcing at TOAand surface
     
    879875         ZTOPLWAIAERO,ZSOLLWAIAERO, &
    880876         ZLWADAERO, & !--NL
    881          volmip_solsw, flag_volc_surfstrat, & !--VOLMIP
    882877         ok_ade, ok_aie, ok_volcan, flag_aerosol,flag_aerosol_strat, &
    883878         flag_aer_feedback) ! flags aerosols
     
    10301025!     print*,'OK2'
    10311026
    1032 !!--add VOLMIP (surf cool or strat heat activate)
    1033       IF (flag_volc_surfstrat > 0) THEN
    1034          DO i = 1, kdlon
    1035             zsolsw(i)    = volmip_solsw(i)*fract(i)
    1036          ENDDO
    1037       ENDIF
    1038 
    10391027! extrait de SW_AR4
    10401028!     DO k = 1, KFLEV
  • LMDZ6/branches/IPSLCM6.0.15/libf/phylmd/rrtm/recmwf_aero.F90

    r3604 r3607  
    3636 & PTOPLWAIAERO,PSOLLWAIAERO,&
    3737 & PLWADAERO,& !--NL
    38 !--ajout volmip
    39  & volmip_solsw, flag_volc_surfstrat,&
    4038!..end
    4139 & ok_ade, ok_aie, ok_volcan, flag_aerosol,flag_aerosol_strat,flag_aer_feedback)
     
    260258REAL(KIND=JPRB)   ,INTENT(OUT)   :: PFLCCDN(KPROMA,KLEV+1) ! LW clear sky clean (no aerosol) flux down
    261259REAL(KIND=JPRB)   ,INTENT(OUT)   :: PFLCCUP(KPROMA,KLEV+1) ! LW clear sky clean (no aerosol) flux up
    262 !--ajout VOLMIP
    263 REAL(KIND=JPRB)   ,INTENT(OUT)   :: volmip_solsw(KPROMA) ! SW clear sky in the case of VOLMIP
    264 INTEGER, INTENT(IN)              :: flag_volc_surfstrat !--VOlMIP Modif
    265260
    266261!     ==== COMPUTED IN RADITE ===
     
    799794ENDIF
    800795
    801 !--VolMIP Strat/Surf
    802 !--only ok_ade + ok_aie case treated
    803 IF (ok_ade.AND.ok_aie.AND.ok_volcan) THEN
    804    !--in this case the fluxes used for the heating rates come from case 4 but SW surface radiation is kept from case 2
    805    IF (flag_volc_surfstrat.EQ.2) THEN ! STRAT HEATING
    806       volmip_solsw(:)= ZFSDN_AERO(:,1,2)-ZFSUP_AERO(:,1,2)
    807    ELSEIF (flag_volc_surfstrat.EQ.1) THEN ! SURF COOLING
    808       !--in this case the fluxes used for the heating rates come from case 2 but SW surface radiation is kept from case 4
    809       PFSUP(:,:) =    ZFSUP_AERO(:,:,2)
    810       PFSDN(:,:) =    ZFSDN_AERO(:,:,2)
    811       PFSCUP(:,:) =   ZFSUP0_AERO(:,:,2)
    812       PFSCDN(:,:) =   ZFSDN0_AERO(:,:,2)
    813       PFLUX(:,1,:) =  LWUP_AERO(:,:,2)
    814       PFLUX(:,2,:) =  LWDN_AERO(:,:,2)
    815       PFLUC(:,1,:) =  LWDN0_AERO(:,:,2)
    816       PFLUC(:,2,:) =  LWDN0_AERO(:,:,2)
    817       volmip_solsw(:)= ZFSDN_AERO(:,1,4)-ZFSUP_AERO(:,1,4)
    818    ENDIF
    819 ENDIF
    820 !--End VolMIP Strat/Surf
    821 
    822796IF (swaerofree_diag) THEN
    823797! copy shortwave clear-sky clean (no aerosol) case
Note: See TracChangeset for help on using the changeset viewer.