Changeset 2408 for LMDZ5/branches/testing/libf/phylmd/aeropt_2bands.F90
- Timestamp:
- Dec 14, 2015, 11:43:09 AM (9 years ago)
- Location:
- LMDZ5/branches/testing
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ5/branches/testing
- Property svn:mergeinfo changed
/LMDZ5/trunk merged: 2293-2295,2297,2299-2302,2305-2313,2315,2317-2380,2382-2396
- Property svn:mergeinfo changed
-
LMDZ5/branches/testing/libf/phylmd/aeropt_2bands.F90
r2160 r2408 22 22 23 23 INCLUDE "YOMCST.h" 24 INCLUDE "iniprint.h"25 24 26 25 ! … … 30 29 REAL, INTENT(in) :: delt 31 30 REAL, DIMENSION(klon,klev,naero_tot), INTENT(in) :: m_allaer 32 !RAF33 31 REAL, DIMENSION(klon,klev,naero_tot), INTENT(in) :: m_allaer_pi 34 32 REAL, DIMENSION(klon,klev), INTENT(in) :: RHcl ! humidite relative ciel clair 35 !RAF REAL, DIMENSION(klon,naero_tot),INTENT(in) :: fractnat_allaer36 33 INTEGER, INTENT(in) :: flag_aerosol 37 34 REAL, DIMENSION(klon,klev), INTENT(in) :: pplay … … 49 46 ! 50 47 REAL, DIMENSION(klon,klev,naero_tot,nbands) :: tau_ae 51 !RAF52 48 REAL, DIMENSION(klon,klev,naero_tot,nbands) :: tau_ae_pi 53 49 REAL, DIMENSION(klon,klev,naero_tot,nbands) :: piz_ae … … 536 532 A1_SSSSM_b2(klev), A2_SSSSM_b2(klev), A3_SSSSM_b2(klev),& 537 533 B1_SSSSM_b2(klev), B2_SSSSM_b2(klev), C1_SSSSM_b2(klev), C2_SSSSM_b2(klev), stat=ierr) 538 IF (ierr /= 0) CALL abort_ gcm('aeropt_2bands', 'pb in allocation 1',1)534 IF (ierr /= 0) CALL abort_physic('aeropt_2bands', 'pb in allocation 1',1) 539 535 END IF 540 536 … … 595 591 DO i=1, klon 596 592 zrho=pplay(i,k)/t_seri(i,k)/RD ! kg/m3 597 !CDIR UNROLL=naero_spc598 593 mass_temp(i,k,:) = m_allaer(i,k,:) / zrho / 1.e+9 599 !RAF zrho600 !CDIR UNROLL=naero_spc601 594 mass_temp_pi(i,k,:) = m_allaer_pi(i,k,:) / zrho / 1.e+9 602 595 zdp1(i,k)=pdel(i,k)/(gravit*delt) ! air mass auxiliary variable --> zdp1 [kg/(m^2 *s)] … … 654 647 655 648 656 !!CDIR ON_ADB(RH_tab)657 649 !CDIR ON_ADB(fact_RH) 658 650 !CDIR SHORTLOOP … … 662 654 663 655 DO k=1, KLEV 664 !!CDIR ON_ADB(RH_tab)665 656 !CDIR ON_ADB(fact_RH) 666 657 DO i=1, KLON … … 945 936 DO i=1, KLON 946 937 tau_allaer(i,k,mrfspecies,inu)=tau_ae(i,k,id_ASSO4M_phy,inu)+tau_ae(i,k,id_CSSO4M_phy,inu)+ & 947 tau_ae(i,k,id_ASBCM_phy,inu)+tau_ae(i,k,id_AIBCM_phy,inu)+ & 948 tau_ae(i,k,id_ASPOMM_phy,inu)+tau_ae(i,k,id_AIPOMM_phy,inu)+ & 938 tau_ae(i,k,id_ASBCM_phy,inu)+tau_ae(i,k,id_AIBCM_phy,inu)+ & 939 tau_ae(i,k,id_ASPOMM_phy,inu)+tau_ae(i,k,id_AIPOMM_phy,inu)+ & 949 940 tau_ae(i,k,id_ASSSM_phy,inu)+tau_ae(i,k,id_CSSSM_phy,inu)+ & 950 941 tau_ae(i,k,id_SSSSM_phy,inu)+ tau_ae(i,k,id_CIDUSTM_phy,inu) 951 942 tau_allaer(i,k,mrfspecies,inu)=MAX(tau_allaer(i,k,mrfspecies,inu),1e-5) 952 943 953 954 955 tau_ae(i,k,id_ASBCM_phy,inu)*piz_ae(i,k,id_ASBCM_phy,inu)+&956 tau_ae(i,k,id_AIBCM_phy,inu)*piz_ae(i,k,id_AIBCM_phy,inu)+&957 958 tau_ae(i,k,id_AIPOMM_phy,inu)*piz_ae(i,k,id_AIPOMM_phy,inu)+ &959 tau_ae(i,k,id_ASSSM_phy,inu)*piz_ae(i,k,id_ASSSM_phy,inu)+&960 tau_ae(i,k,id_CSSSM_phy,inu)*piz_ae(i,k,id_CSSSM_phy,inu)+&961 tau_ae(i,k,id_SSSSM_phy,inu)*piz_ae(i,k,id_SSSSM_phy,inu)+&962 944 piz_allaer(i,k,mrfspecies,inu)=(tau_ae(i,k,id_ASSO4M_phy,inu)*piz_ae(i,k,id_ASSO4M_phy,inu)+ & 945 tau_ae(i,k,id_CSSO4M_phy,inu)*piz_ae(i,k,id_CSSO4M_phy,inu)+ & 946 tau_ae(i,k,id_ASBCM_phy,inu)*piz_ae(i,k,id_ASBCM_phy,inu)+ & 947 tau_ae(i,k,id_AIBCM_phy,inu)*piz_ae(i,k,id_AIBCM_phy,inu)+ & 948 tau_ae(i,k,id_ASPOMM_phy,inu)*piz_ae(i,k,id_ASPOMM_phy,inu)+ & 949 tau_ae(i,k,id_AIPOMM_phy,inu)*piz_ae(i,k,id_AIPOMM_phy,inu)+ & 950 tau_ae(i,k,id_ASSSM_phy,inu)*piz_ae(i,k,id_ASSSM_phy,inu)+ & 951 tau_ae(i,k,id_CSSSM_phy,inu)*piz_ae(i,k,id_CSSSM_phy,inu)+ & 952 tau_ae(i,k,id_SSSSM_phy,inu)*piz_ae(i,k,id_SSSSM_phy,inu)+ & 953 tau_ae(i,k,id_CIDUSTM_phy,inu)*piz_ae(i,k,id_CIDUSTM_phy,inu)) & 963 954 /tau_allaer(i,k,mrfspecies,inu) 964 965 966 955 piz_allaer(i,k,mrfspecies,inu)=MAX(piz_allaer(i,k,mrfspecies,inu),0.1) 956 957 cg_allaer(i,k,mrfspecies,inu)=(tau_ae(i,k,id_ASSO4M_phy,inu)* & 967 958 piz_ae(i,k,id_ASSO4M_phy,inu)*cg_ae(i,k,id_ASSO4M_phy,inu)+ & 968 959 tau_ae(i,k,id_CSSO4M_phy,inu)*piz_ae(i,k,id_CSSO4M_phy,inu)* & … … 992 983 DO k=1, KLEV 993 984 DO i=1, KLON 994 !RAF 995 985 986 tau_allaer(i,k,mrfspecies,inu)=tau_ae_pi(i,k,id_ASSO4M_phy,inu)+ & 996 987 tau_ae_pi(i,k,id_CSSO4M_phy,inu)+ & 997 tau_ae_pi(i,k,id_ASBCM_phy,inu)+ &998 tau_ae_pi(i,k,id_AIBCM_phy,inu)+ &988 tau_ae_pi(i,k,id_ASBCM_phy,inu)+ & 989 tau_ae_pi(i,k,id_AIBCM_phy,inu)+ & 999 990 tau_ae_pi(i,k,id_ASPOMM_phy,inu)+ & 1000 tau_ae_pi(i,k,id_AIPOMM_phy,inu)+ & 1001 tau_ae_pi(i,k,id_ASSSM_phy,inu)+ &1002 tau_ae_pi(i,k,id_CSSSM_phy,inu)+ &1003 tau_ae_pi(i,k,id_SSSSM_phy,inu)+ &991 tau_ae_pi(i,k,id_AIPOMM_phy,inu)+ & 992 tau_ae_pi(i,k,id_ASSSM_phy,inu)+ & 993 tau_ae_pi(i,k,id_CSSSM_phy,inu)+ & 994 tau_ae_pi(i,k,id_SSSSM_phy,inu)+ & 1004 995 tau_ae_pi(i,k,id_CIDUSTM_phy,inu) 1005 1006 1007 996 tau_allaer(i,k,mrfspecies,inu)=MAX(tau_allaer(i,k,mrfspecies,inu),1e-5) 997 998 piz_allaer(i,k,mrfspecies,inu)=(tau_ae_pi(i,k,id_ASSO4M_phy,inu)*piz_ae(i,k,id_ASSO4M_phy,inu)+ & 1008 999 tau_ae_pi(i,k,id_CSSO4M_phy,inu)*piz_ae(i,k,id_CSSO4M_phy,inu)+ & 1009 tau_ae_pi(i,k,id_ASBCM_phy,inu)*piz_ae(i,k,id_ASBCM_phy,inu)+ &1010 tau_ae_pi(i,k,id_AIBCM_phy,inu)*piz_ae(i,k,id_AIBCM_phy,inu)+ &1000 tau_ae_pi(i,k,id_ASBCM_phy,inu)*piz_ae(i,k,id_ASBCM_phy,inu)+ & 1001 tau_ae_pi(i,k,id_AIBCM_phy,inu)*piz_ae(i,k,id_AIBCM_phy,inu)+ & 1011 1002 tau_ae_pi(i,k,id_ASPOMM_phy,inu)*piz_ae(i,k,id_ASPOMM_phy,inu)+ & 1012 tau_ae_pi(i,k,id_AIPOMM_phy,inu)*piz_ae(i,k,id_AIPOMM_phy,inu)+ & 1013 tau_ae_pi(i,k,id_ASSSM_phy,inu)*piz_ae(i,k,id_ASSSM_phy,inu)+ &1014 tau_ae_pi(i,k,id_CSSSM_phy,inu)*piz_ae(i,k,id_CSSSM_phy,inu)+ &1015 tau_ae_pi(i,k,id_SSSSM_phy,inu)*piz_ae(i,k,id_SSSSM_phy,inu)+ &1003 tau_ae_pi(i,k,id_AIPOMM_phy,inu)*piz_ae(i,k,id_AIPOMM_phy,inu)+ & 1004 tau_ae_pi(i,k,id_ASSSM_phy,inu)*piz_ae(i,k,id_ASSSM_phy,inu)+ & 1005 tau_ae_pi(i,k,id_CSSSM_phy,inu)*piz_ae(i,k,id_CSSSM_phy,inu)+ & 1006 tau_ae_pi(i,k,id_SSSSM_phy,inu)*piz_ae(i,k,id_SSSSM_phy,inu)+ & 1016 1007 tau_ae_pi(i,k,id_CIDUSTM_phy,inu)*piz_ae(i,k,id_CIDUSTM_phy,inu)) & 1017 1008 /tau_allaer(i,k,mrfspecies,inu) 1018 1019 1020 1009 piz_allaer(i,k,mrfspecies,inu)=MAX(piz_allaer(i,k,mrfspecies,inu),0.1) 1010 1011 cg_allaer(i,k,mrfspecies,inu)=(& 1021 1012 tau_ae_pi(i,k,id_ASSO4M_phy,inu)*piz_ae(i,k,id_ASSO4M_phy,inu)*cg_ae(i,k,id_ASSO4M_phy,inu)+ & 1022 1013 tau_ae_pi(i,k,id_CSSO4M_phy,inu)*piz_ae(i,k,id_CSSO4M_phy,inu)*cg_ae(i,k,id_CSSO4M_phy,inu)+ & … … 1037 1028 DO k=1, KLEV 1038 1029 DO i=1, KLON 1039 1040 1041 1030 tau_allaer(i,k,mrfspecies,inu)=tau_ae(i,k,id_ASBCM_phy,inu)+tau_ae(i,k,id_AIBCM_phy,inu) 1031 tau_allaer(i,k,mrfspecies,inu)=MAX(tau_allaer(i,k,mrfspecies,inu),1e-5) 1032 piz_allaer(i,k,mrfspecies,inu)=(tau_ae(i,k,id_ASBCM_phy,inu)*piz_ae(i,k,id_ASBCM_phy,inu) & 1042 1033 +tau_ae(i,k,id_AIBCM_phy,inu)*piz_ae(i,k,id_AIBCM_phy,inu))/ & 1043 1034 tau_allaer(i,k,mrfspecies,inu) 1044 1035 piz_allaer(i,k,mrfspecies,inu)=MAX(piz_allaer(i,k,mrfspecies,inu),0.1) 1045 1036 cg_allaer(i,k,mrfspecies,inu)=(tau_ae(i,k,id_ASBCM_phy,inu)*piz_ae(i,k,id_ASBCM_phy,inu) *cg_ae(i,k,id_ASBCM_phy,inu)& 1046 1037 +tau_ae(i,k,id_AIBCM_phy,inu)*piz_ae(i,k,id_AIBCM_phy,inu)*cg_ae(i,k,id_AIBCM_phy,inu))/ & … … 1054 1045 DO i=1, KLON 1055 1046 tau_allaer(i,k,mrfspecies,inu)=tau_ae(i,k,id_ASSO4M_phy,inu)+tau_ae(i,k,id_CSSO4M_phy,inu) 1056 1047 tau_allaer(i,k,mrfspecies,inu)=MAX(tau_allaer(i,k,mrfspecies,inu),1e-5) 1057 1048 piz_allaer(i,k,mrfspecies,inu)=(tau_ae(i,k,id_CSSO4M_phy,inu)*piz_ae(i,k,id_CSSO4M_phy,inu) & 1058 1049 +tau_ae(i,k,id_ASSO4M_phy,inu)*piz_ae(i,k,id_ASSO4M_phy,inu))/ & 1059 1050 tau_allaer(i,k,mrfspecies,inu) 1060 1051 piz_allaer(i,k,mrfspecies,inu)=MAX(piz_allaer(i,k,mrfspecies,inu),0.1) 1061 1052 cg_allaer(i,k,mrfspecies,inu)=(tau_ae(i,k,id_CSSO4M_phy,inu)* & 1062 1053 piz_ae(i,k,id_CSSO4M_phy,inu) *cg_ae(i,k,id_CSSO4M_phy,inu)& … … 1073 1064 tau_allaer(i,k,mrfspecies,inu)=tau_ae(i,k,id_ASPOMM_phy,inu)+tau_ae(i,k,id_AIPOMM_phy,inu) 1074 1065 tau_allaer(i,k,mrfspecies,inu)=MAX(tau_allaer(i,k,mrfspecies,inu),1e-5) 1075 1066 piz_allaer(i,k,mrfspecies,inu)=(tau_ae(i,k,id_ASPOMM_phy,inu)*piz_ae(i,k,id_ASPOMM_phy,inu) & 1076 1067 +tau_ae(i,k,id_AIPOMM_phy,inu)*piz_ae(i,k,id_AIPOMM_phy,inu))/ & 1077 1068 tau_allaer(i,k,mrfspecies,inu) 1078 1079 cg_allaer(i,k,mrfspecies,inu)=(tau_ae(i,k,id_ASPOMM_phy,inu)*piz_ae(i,k,id_ASPOMM_phy,inu)*cg_ae(i,k,id_ASPOMM_phy,inu)&1069 piz_allaer(i,k,mrfspecies,inu)=MAX(piz_allaer(i,k,mrfspecies,inu),0.1) 1070 cg_allaer(i,k,mrfspecies,inu)=(tau_ae(i,k,id_ASPOMM_phy,inu)*piz_ae(i,k,id_ASPOMM_phy,inu)*cg_ae(i,k,id_ASPOMM_phy,inu)& 1080 1071 +tau_ae(i,k,id_AIPOMM_phy,inu)*piz_ae(i,k,id_AIPOMM_phy,inu)*cg_ae(i,k,id_AIPOMM_phy,inu))/ & 1081 1072 (tau_allaer(i,k,mrfspecies,inu)*piz_allaer(i,k,mrfspecies,inu)) … … 1088 1079 DO i=1, KLON 1089 1080 tau_allaer(i,k,mrfspecies,inu)=tau_ae(i,k,id_CIDUSTM_phy,inu) 1090 1081 tau_allaer(i,k,mrfspecies,inu)=MAX(tau_allaer(i,k,mrfspecies,inu),1e-5) 1091 1082 piz_allaer(i,k,mrfspecies,inu)=piz_ae(i,k,id_CIDUSTM_phy,inu) 1092 1083 cg_allaer(i,k,mrfspecies,inu)=cg_ae(i,k,id_CIDUSTM_phy,inu) 1093 1084 ENDDO 1094 1085 ENDDO … … 1136 1127 ENDDO 1137 1128 ENDDO 1138 1139 1129 1140 1130 inu=1 1141 1131 DO i=1, KLON 1142 1132 absvisaer(i)=SUM((1-piz_allaer(i,:,:,inu))*tau_allaer(i,:,:,inu)) 1143 END DO1133 ENDDO 1144 1134 1145 1135 DEALLOCATE(aerosol_name)
Note: See TracChangeset
for help on using the changeset viewer.