- Timestamp:
- Oct 25, 2018, 5:23:18 PM (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/branches/IPSLCM6.0.15/libf/phylmd/rrtm/recmwf_aero.F90
r3337 r3408 30 30 & PTOPSWAIAERO,PSOLSWAIAERO,& 31 31 & PTOPSWCFAERO,PSOLSWCFAERO,& 32 & PSWADAERO,& !--NL 32 33 !--LW diagnostics CK 33 34 & PTOPLWADAERO,PSOLLWADAERO,& 34 35 & PTOPLWAD0AERO,PSOLLWAD0AERO,& 35 36 & PTOPLWAIAERO,PSOLLWAIAERO,& 37 & PLWADAERO,& !--NL 36 38 !..end 37 & ok_ade, ok_aie, flag_aerosol,flag_aerosol_strat)39 & ok_ade, ok_aie, ok_volcan, flag_aerosol,flag_aerosol_strat) 38 40 !--fin 39 41 … … 82 84 ! ok_ade---input-L- apply the Aerosol Direct Effect or not? 83 85 ! ok_aie---input-L- apply the Aerosol Indirect Effect or not? 86 ! ok_volcan-input-L- activate volcanic diags (SW heat & LW cool rate, SW & LW flux) 84 87 ! flag_aerosol-input-I- aerosol flag from 0 to 7 85 88 ! flag_aerosol_strat-input-I- use stratospheric aerosols flag (T/F) … … 212 215 REAL(KIND=JPRB) ,INTENT(IN) :: PREF_ICE_PI(KPROMA,KLEV) 213 216 LOGICAL, INTENT(in) :: ok_ade, ok_aie ! switches whether to use aerosol direct (indirect) effects or not 217 LOGICAL, INTENT(in) :: ok_volcan ! produce volcanic diags (SW/LW heat flux and rate) 214 218 INTEGER, INTENT(in) :: flag_aerosol ! takes value 0 (no aerosol) or 1 to 6 (aerosols) 215 219 LOGICAL, INTENT(in) :: flag_aerosol_strat ! use stratospheric aerosols 216 REAL(KIND=JPRB) ,INTENT( out) :: PTOPSWADAERO(KPROMA), PSOLSWADAERO(KPROMA) ! Aerosol direct forcing at TOA and surface220 REAL(KIND=JPRB) ,INTENT(OUT) :: PTOPSWADAERO(KPROMA), PSOLSWADAERO(KPROMA) ! Aerosol direct forcing at TOA and surface 217 221 REAL(KIND=JPRB) ,INTENT(OUT) :: PTOPSWAD0AERO(KPROMA), PSOLSWAD0AERO(KPROMA) ! Aerosol direct forcing at TOA and surface 218 222 REAL(KIND=JPRB) ,INTENT(OUT) :: PTOPSWAIAERO(KPROMA), PSOLSWAIAERO(KPROMA) ! ditto, indirect 219 223 REAL(KIND=JPRB) ,INTENT(OUT) :: PTOPSWCFAERO(KPROMA,3), PSOLSWCFAERO(KPROMA,3) !--do we keep this ? 220 224 !--fin 225 !--NL 226 REAL(KIND=JPRB) ,INTENT(OUT) :: PSWADAERO(KPROMA, KLEV+1) ! SW Aerosol direct forcing 227 REAL(KIND=JPRB) ,INTENT(OUT) :: PLWADAERO(KPROMA, KLEV+1) ! LW Aerosol direct forcing 221 228 !--CK 222 229 REAL(KIND=JPRB) ,INTENT(out) :: PTOPLWADAERO(KPROMA), PSOLLWADAERO(KPROMA) ! LW Aerosol direct forcing at TOA + surface … … 806 813 PSOLSWAD0AERO(:) = (ZFSDN0_AERO(:,1,4) -ZFSUP0_AERO(:,1,4)) -(ZFSDN0_AERO(:,1,2) -ZFSUP0_AERO(:,1,2)) 807 814 PTOPSWAD0AERO(:) = (ZFSDN0_AERO(:,KLEV+1,4)-ZFSUP0_AERO(:,KLEV+1,4))-(ZFSDN0_AERO(:,KLEV+1,2)-ZFSUP0_AERO(:,KLEV+1,2)) 815 IF(ok_volcan) THEN 816 PSWADAERO(:,:) = (ZFSDN_AERO(:,:,4) -ZFSUP_AERO(:,:,4)) -(ZFSDN_AERO(:,:,2) -ZFSUP_AERO(:,:,2)) !--NL 817 ENDIF 808 818 809 819 ! indirect anthropogenic forcing … … 826 836 PSOLLWAD0AERO(:) = (-LWDN0_AERO(:,1,4) -LWUP0_AERO(:,1,4)) -(-LWDN0_AERO(:,1,2) -LWUP0_AERO(:,1,2)) 827 837 PTOPLWAD0AERO(:) = (-LWDN0_AERO(:,KLEV+1,4)-LWUP0_AERO(:,KLEV+1,4))-(-LWDN0_AERO(:,KLEV+1,2)-LWUP0_AERO(:,KLEV+1,2)) 838 IF(ok_volcan) THEN 839 PLWADAERO(:,:) = (-LWDN_AERO(:,:,4) -LWUP_AERO(:,:,4)) -(-LWDN_AERO(:,:,2) -LWUP_AERO(:,:,2)) !--NL 840 ENDIF 828 841 829 842 ! LW indirect anthropogenic forcing … … 840 853 PSOLSWAD0AERO(:) = (ZFSDN0_AERO(:,1,3) -ZFSUP0_AERO(:,1,3)) -(ZFSDN0_AERO(:,1,1) -ZFSUP0_AERO(:,1,1)) 841 854 PTOPSWAD0AERO(:) = (ZFSDN0_AERO(:,KLEV+1,3)-ZFSUP0_AERO(:,KLEV+1,3))-(ZFSDN0_AERO(:,KLEV+1,1)-ZFSUP0_AERO(:,KLEV+1,1)) 855 IF(ok_volcan) THEN 856 PSWADAERO(:,:) = (ZFSDN_AERO(:,:,3) -ZFSUP_AERO(:,:,3)) -(ZFSDN_AERO(:,:,1) -ZFSUP_AERO(:,:,1)) !--NL 857 ENDIF 842 858 843 859 ! indirect anthropogenic forcing … … 860 876 PSOLLWAD0AERO(:) = (-LWDN0_AERO(:,1,3) -LWUP0_AERO(:,1,3)) -(-LWDN0_AERO(:,1,1) -LWUP0_AERO(:,1,1)) 861 877 PTOPLWAD0AERO(:) = (-LWDN0_AERO(:,KLEV+1,3)-LWUP0_AERO(:,KLEV+1,3))-(-LWDN0_AERO(:,KLEV+1,1)-LWUP0_AERO(:,KLEV+1,1)) 862 878 IF(ok_volcan) THEN 879 PLWADAERO(:,:) = (-LWDN_AERO(:,:,3) -LWUP_AERO(:,:,3)) -(-LWDN_AERO(:,:,1) -LWUP_AERO(:,:,1)) !--NL 880 ENDIF 881 863 882 ! LW indirect anthropogenic forcing 864 883 PSOLLWAIAERO(:) = 0.0 … … 874 893 PSOLSWAD0AERO(:) = 0.0 875 894 PTOPSWAD0AERO(:) = 0.0 876 895 IF(ok_volcan) THEN 896 PSWADAERO(:,:) = 0.0 !--NL 897 ENDIF 898 877 899 ! indirect anthropogenic forcing 878 900 PSOLSWAIAERO(:) = (ZFSDN_AERO(:,1,2) -ZFSUP_AERO(:,1,2)) -(ZFSDN_AERO(:,1,1) -ZFSUP_AERO(:,1,1)) … … 894 916 PSOLLWAD0AERO(:) = 0.0 895 917 PTOPLWAD0AERO(:) = 0.0 896 918 IF(ok_volcan) THEN 919 PLWADAERO(:,:) = 0.0 !--NL 920 ENDIF 921 897 922 ! LW indirect anthropogenic forcing 898 923 PSOLLWAIAERO(:) = (-LWDN_AERO(:,1,2) -LWUP_AERO(:,1,2)) -(-LWDN_AERO(:,1,1) -LWUP_AERO(:,1,1)) … … 908 933 PSOLSWAD0AERO(:) = 0.0 909 934 PTOPSWAD0AERO(:) = 0.0 910 935 IF(ok_volcan) THEN 936 PSWADAERO(:,:) = 0.0 !--NL 937 ENDIF 938 911 939 ! indirect anthropogenic forcing 912 940 PSOLSWAIAERO(:) = 0.0 … … 928 956 PSOLLWAD0AERO(:) = 0.0 929 957 PTOPLWAD0AERO(:) = 0.0 930 958 IF(ok_volcan) THEN 959 PLWADAERO(:,:) = 0.0 !--NL 960 ENDIF 961 931 962 ! LW indirect anthropogenic forcing 932 963 PSOLLWAIAERO(:) = 0.0
Note: See TracChangeset
for help on using the changeset viewer.