Ignore:
Timestamp:
Oct 10, 2021, 9:18:17 AM (3 years ago)
Author:
oboucher
Message:

addition of flag_volc_surfstrat required for VOLMIP
This flag can select either surface or the atmospheric effects of volcanic aerosols to separate the effects.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/trunk/libf/phylmd/rrtm/recmwf_aero.F90

    r3479 r3989  
    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
Note: See TracChangeset for help on using the changeset viewer.