Changeset 2634 for LMDZ5/trunk/libf/phylmd/aeropt_2bands.F90
- Timestamp:
- Sep 24, 2016, 7:14:59 PM (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ5/trunk/libf/phylmd/aeropt_2bands.F90
r2593 r2634 12 12 USE phys_local_var_mod, only: absvisaer 13 13 USE pres2lev_mod 14 15 14 16 15 ! Yves Balkanski le 12 avril 2006 … … 128 127 REAL :: zrho 129 128 REAL :: fac 130 REAL :: zdp1(klon,klev) 131 REAL, PARAMETER :: gravit = 9.80616 ! m2/s 129 REAL :: zdh(klon,klev) 132 130 INTEGER, ALLOCATABLE, DIMENSION(:) :: aerosol_name 133 131 INTEGER :: nb_aer 134 REAL, DIMENSION(klon,klev,naero_tot) :: mass_temp135 !RAF136 REAL, DIMENSION(klon,klev,naero_tot) :: mass_temp_pi137 132 138 133 ! … … 587 582 END IF ! firstcall 588 583 589 590 584 DO k=1, klev 591 585 DO i=1, klon 592 zrho=pplay(i,k)/t_seri(i,k)/RD ! kg/m3 593 mass_temp(i,k,:) = m_allaer(i,k,:) / zrho / 1.e+9 594 mass_temp_pi(i,k,:) = m_allaer_pi(i,k,:) / zrho / 1.e+9 595 zdp1(i,k)=pdel(i,k)/(gravit*delt) ! air mass auxiliary variable --> zdp1 [kg/(m^2 *s)] 586 zrho=pplay(i,k)/t_seri(i,k)/RD ! kg/m3 587 zdh(i,k)=pdel(i,k)/(RG*zrho) ! m 596 588 ENDDO 597 589 ENDDO … … 645 637 ! compute optical_thickness_at_gridpoint_per_species 646 638 647 648 649 639 !CDIR ON_ADB(fact_RH) 650 640 !CDIR SHORTLOOP … … 660 650 IF (rh(i,k).GT.85.) RH_num(i,k)=10 661 651 IF (rh(i,k).GT.90.) RH_num(i,k)=11 662 663 652 DELTA(i,k)=(rh(i,k)-RH_tab(RH_num(i,k)))*fact_RH(RH_num(i,k)) 664 653 ENDDO … … 718 707 used_aer(id)=.TRUE. 719 708 720 721 709 IF (soluble) THEN 722 710 … … 739 727 !CDIR ON_ADB(C1_ASSSM_b2) 740 728 !CDIR ON_ADB(C2_ASSSM_b2) 729 741 730 DO i=1, KLON 731 742 732 H=rh(i,k)/100 743 tmp_var=m ass_temp(i,k,spsol)*1000.*zdp1(i,k)*delt*fac744 tmp_var_pi=m ass_temp_pi(i,k,spsol)*1000.*zdp1(i,k)*delt*fac733 tmp_var=m_allaer(i,k,spsol)/1.e6*zdh(i,k)*fac 734 tmp_var_pi=m_allaer_pi(i,k,spsol)/1.e6*zdh(i,k)*fac 745 735 746 736 ! band 1 … … 784 774 !CDIR ON_ADB(C1_CSSSM_b2) 785 775 !CDIR ON_ADB(C2_CSSSM_b2) 776 786 777 DO i=1, KLON 778 787 779 H=rh(i,k)/100 788 tmp_var=m ass_temp(i,k,spsol)*1000.*zdp1(i,k)*delt*fac789 tmp_var_pi=m ass_temp_pi(i,k,spsol)*1000.*zdp1(i,k)*delt*fac780 tmp_var=m_allaer(i,k,spsol)/1.e6*zdh(i,k)*fac 781 tmp_var_pi=m_allaer_pi(i,k,spsol)/1.e6*zdh(i,k)*fac 790 782 ! band 1 791 783 tau_ae2b_int=A1_CSSSM_b1(k)+A2_CSSSM_b1(k)*H+A3_CSSSM_b1(k)/(H-1.05) … … 828 820 !CDIR ON_ADB(C1_SSSSM_b2) 829 821 !CDIR ON_ADB(C2_SSSSM_b2) 822 830 823 DO i=1, KLON 824 831 825 H=rh(i,k)/100 832 tmp_var=m ass_temp(i,k,spsol)*1000.*zdp1(i,k)*delt*fac833 tmp_var_pi=m ass_temp_pi(i,k,spsol)*1000.*zdp1(i,k)*delt*fac826 tmp_var=m_allaer(i,k,spsol)/1.e6*zdh(i,k)*fac 827 tmp_var_pi=m_allaer_pi(i,k,spsol)/1.e6*zdh(i,k)*fac 834 828 835 829 ! band 1 … … 864 858 DO k=1, KLEV 865 859 DO i=1, KLON 866 tmp_var=m ass_temp(i,k,spsol)*1000.*zdp1(i,k)*delt*fac867 tmp_var_pi=m ass_temp_pi(i,k,spsol)*1000.*zdp1(i,k)*delt*fac860 tmp_var=m_allaer(i,k,spsol)/1.e6*zdh(i,k)*fac 861 tmp_var_pi=m_allaer_pi(i,k,spsol)/1.e6*zdh(i,k)*fac 868 862 !CDIR UNROLL=nbands 869 863 DO inu=1,nbands … … 899 893 DO k=1, KLEV 900 894 DO i=1, KLON 901 tmp_var=m ass_temp(i,k,naero_soluble+ spinsol)*1000.*zdp1(i,k)*delt*fac902 tmp_var_pi=m ass_temp_pi(i,k,naero_soluble+spinsol)*1000.*zdp1(i,k)*delt*fac895 tmp_var=m_allaer(i,k,naero_soluble+spinsol)/1.e6*zdh(i,k)*fac 896 tmp_var_pi=m_allaer_pi(i,k,naero_soluble+spinsol)/1.e6*zdh(i,k)*fac 903 897 !CDIR UNROLL=nbands 904 898 DO inu=1,nbands … … 931 925 932 926 DO inu=1, nbands 933 DO mrfspecies=1,naero_grp 927 928 !!DO mrfspecies=1,naero_grp 929 DO mrfspecies=2,3 !--only deal with total and natural aerosols 930 934 931 IF (mrfspecies .EQ. 2) THEN ! = total aerosol AER 932 935 933 DO k=1, KLEV 936 934 DO i=1, KLON … … 1026 1024 1027 1025 ELSEIF (mrfspecies .EQ. 4) THEN ! = BC 1026 1028 1027 DO k=1, KLEV 1029 1028 DO i=1, KLON … … 1128 1127 ENDDO 1129 1128 1130 inu=1 ! visible wav aband1129 inu=1 ! visible waveband 1131 1130 mrfspecies=2 ! total aerosol AER 1132 1131 DO i=1, KLON
Note: See TracChangeset
for help on using the changeset viewer.