Ignore:
Timestamp:
Nov 21, 2019, 4:43:45 PM (5 years ago)
Author:
lguez
Message:

Merge revisions 3427:3600 of trunk into branch Ocean_skin

Location:
LMDZ6/branches/Ocean_skin
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/branches/Ocean_skin

  • LMDZ6/branches/Ocean_skin/libf/phylmd/rrtm/recmwf_aero.F90

    r3412 r3605  
    3030 & PTOPSWAIAERO,PSOLSWAIAERO,&
    3131 & PTOPSWCFAERO,PSOLSWCFAERO,&
     32 & PSWADAERO,& !--NL
    3233!--LW diagnostics CK
    3334 & PTOPLWADAERO,PSOLLWADAERO,&
    3435 & PTOPLWAD0AERO,PSOLLWAD0AERO,&
    3536 & PTOPLWAIAERO,PSOLLWAIAERO,&
     37 & PLWADAERO,& !--NL
    3638!..end
    37  & ok_ade, ok_aie, flag_aerosol,flag_aerosol_strat,flag_aer_feedback)
     39 & ok_ade, ok_aie, ok_volcan, flag_aerosol,flag_aerosol_strat,&
     40 & flag_aer_feedback)
    3841!--fin
    3942
     
    8285! ok_ade---input-L- apply the Aerosol Direct Effect or not?
    8386! ok_aie---input-L- apply the Aerosol Indirect Effect or not?
     87! ok_volcan-input-L- activate volcanic diags (SW heat & LW cool rate, SW & LW flux)
    8488! flag_aerosol-input-I- aerosol flag from 0 to 7
    8589! flag_aerosol_strat-input-I- use stratospheric aerosols flag (T/F)
     
    213217REAL(KIND=JPRB)   ,INTENT(IN)    :: PREF_ICE_PI(KPROMA,KLEV)
    214218LOGICAL, INTENT(in)  :: ok_ade, ok_aie         ! switches whether to use aerosol direct (indirect) effects or not
     219LOGICAL, INTENT(in)  :: ok_volcan              ! produce volcanic diags (SW/LW heat flux and rate)
    215220INTEGER, INTENT(in)  :: flag_aerosol           ! takes value 0 (no aerosol) or 1 to 6 (aerosols)
    216221LOGICAL, INTENT(in)  :: flag_aerosol_strat     ! use stratospheric aerosols
     
    221226REAL(KIND=JPRB)   ,INTENT(OUT)   :: PTOPSWCFAERO(KPROMA,3), PSOLSWCFAERO(KPROMA,3) !--do we keep this ?
    222227!--fin
     228!--NL
     229REAL(KIND=JPRB)   ,INTENT(OUT)   :: PSWADAERO(KPROMA, KLEV+1)                        ! SW Aerosol direct forcing
     230REAL(KIND=JPRB)   ,INTENT(OUT)   :: PLWADAERO(KPROMA, KLEV+1)                        ! LW Aerosol direct forcing
    223231!--CK
    224232REAL(KIND=JPRB)   ,INTENT(out)   :: PTOPLWADAERO(KPROMA), PSOLLWADAERO(KPROMA)       ! LW Aerosol direct forcing at TOA + surface
     
    811819     PSOLSWAD0AERO(:) = (ZFSDN0_AERO(:,1,4)     -ZFSUP0_AERO(:,1,4))     -(ZFSDN0_AERO(:,1,2)     -ZFSUP0_AERO(:,1,2))
    812820     PTOPSWAD0AERO(:) = (ZFSDN0_AERO(:,KLEV+1,4)-ZFSUP0_AERO(:,KLEV+1,4))-(ZFSDN0_AERO(:,KLEV+1,2)-ZFSUP0_AERO(:,KLEV+1,2))
     821     IF(ok_volcan) THEN
     822        PSWADAERO(:,:)  = (ZFSDN_AERO(:,:,4) -ZFSUP_AERO(:,:,4)) -(ZFSDN_AERO(:,:,2) -ZFSUP_AERO(:,:,2)) !--NL
     823     ENDIF
    813824
    814825! indirect anthropogenic forcing
     
    831842     PSOLLWAD0AERO(:) = (-LWDN0_AERO(:,1,4)     -LWUP0_AERO(:,1,4))     -(-LWDN0_AERO(:,1,2)     -LWUP0_AERO(:,1,2))
    832843     PTOPLWAD0AERO(:) = (-LWDN0_AERO(:,KLEV+1,4)-LWUP0_AERO(:,KLEV+1,4))-(-LWDN0_AERO(:,KLEV+1,2)-LWUP0_AERO(:,KLEV+1,2))
     844     IF(ok_volcan) THEN
     845        PLWADAERO(:,:)  = (-LWDN_AERO(:,:,4) -LWUP_AERO(:,:,4)) -(-LWDN_AERO(:,:,2) -LWUP_AERO(:,:,2)) !--NL
     846     ENDIF
    833847
    834848! LW indirect anthropogenic forcing
     
    845859     PSOLSWAD0AERO(:) = (ZFSDN0_AERO(:,1,3)     -ZFSUP0_AERO(:,1,3))     -(ZFSDN0_AERO(:,1,1)     -ZFSUP0_AERO(:,1,1))
    846860     PTOPSWAD0AERO(:) = (ZFSDN0_AERO(:,KLEV+1,3)-ZFSUP0_AERO(:,KLEV+1,3))-(ZFSDN0_AERO(:,KLEV+1,1)-ZFSUP0_AERO(:,KLEV+1,1))
     861     IF(ok_volcan) THEN
     862        PSWADAERO(:,:)  = (ZFSDN_AERO(:,:,3) -ZFSUP_AERO(:,:,3)) -(ZFSDN_AERO(:,:,1) -ZFSUP_AERO(:,:,1)) !--NL
     863     ENDIF
    847864
    848865! indirect anthropogenic forcing
     
    865882     PSOLLWAD0AERO(:) = (-LWDN0_AERO(:,1,3)     -LWUP0_AERO(:,1,3))     -(-LWDN0_AERO(:,1,1)     -LWUP0_AERO(:,1,1))
    866883     PTOPLWAD0AERO(:) = (-LWDN0_AERO(:,KLEV+1,3)-LWUP0_AERO(:,KLEV+1,3))-(-LWDN0_AERO(:,KLEV+1,1)-LWUP0_AERO(:,KLEV+1,1))
    867 
     884     IF(ok_volcan) THEN
     885        PLWADAERO(:,:)  = (-LWDN_AERO(:,:,3) -LWUP_AERO(:,:,3)) -(-LWDN_AERO(:,:,1) -LWUP_AERO(:,:,1)) !--NL
     886     ENDIF
     887     
    868888! LW indirect anthropogenic forcing
    869889     PSOLLWAIAERO(:) = 0.0
     
    879899     PSOLSWAD0AERO(:) = 0.0
    880900     PTOPSWAD0AERO(:) = 0.0
    881 
     901     IF(ok_volcan) THEN
     902        PSWADAERO(:,:)  = 0.0 !--NL
     903     ENDIF
     904     
    882905! indirect anthropogenic forcing
    883906     PSOLSWAIAERO(:) = (ZFSDN_AERO(:,1,2)     -ZFSUP_AERO(:,1,2))     -(ZFSDN_AERO(:,1,1)     -ZFSUP_AERO(:,1,1))
     
    899922     PSOLLWAD0AERO(:) = 0.0
    900923     PTOPLWAD0AERO(:) = 0.0
    901 
     924     IF(ok_volcan) THEN
     925        PLWADAERO(:,:)  = 0.0 !--NL
     926     ENDIF
     927     
    902928! LW indirect anthropogenic forcing
    903929     PSOLLWAIAERO(:) = (-LWDN_AERO(:,1,2)     -LWUP_AERO(:,1,2))     -(-LWDN_AERO(:,1,1)     -LWUP_AERO(:,1,1))
     
    913939     PSOLSWAD0AERO(:) = 0.0
    914940     PTOPSWAD0AERO(:) = 0.0
    915 
     941     IF(ok_volcan) THEN
     942        PSWADAERO(:,:)  = 0.0 !--NL
     943     ENDIF
     944     
    916945! indirect anthropogenic forcing
    917946     PSOLSWAIAERO(:) = 0.0
     
    933962     PSOLLWAD0AERO(:) = 0.0
    934963     PTOPLWAD0AERO(:) = 0.0
    935 
     964     IF(ok_volcan) THEN
     965        PLWADAERO(:,:)  = 0.0 !--NL
     966     ENDIF
     967     
    936968! LW indirect anthropogenic forcing
    937969     PSOLLWAIAERO(:) = 0.0
Note: See TracChangeset for help on using the changeset viewer.