Changeset 1246 for LMDZ4/branches/LMDZ4-dev/libf/phylmd/aeropt_2bands.F90
- Timestamp:
- Sep 23, 2009, 4:47:40 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ4/branches/LMDZ4-dev/libf/phylmd/aeropt_2bands.F90
r1237 r1246 5 5 pdel, m_allaer, delt, RHcl, & 6 6 tau_allaer, piz_allaer, & 7 cg_allaer, fractnat_allaer, &7 cg_allaer, m_allaer_pi, & 8 8 flag_aerosol, pplay, t_seri, presnivs) 9 9 … … 27 27 REAL, INTENT(in) :: delt 28 28 REAL, DIMENSION(klon,klev,naero_spc), INTENT(in) :: m_allaer 29 !RAF 30 REAL, DIMENSION(klon,klev,naero_spc), INTENT(in) :: m_allaer_pi 29 31 REAL, DIMENSION(klon,klev), INTENT(in) :: RHcl ! humidite relative ciel clair 30 REAL, DIMENSION(klon,naero_tot),INTENT(in) :: fractnat_allaer32 !RAF REAL, DIMENSION(klon,naero_tot),INTENT(in) :: fractnat_allaer 31 33 INTEGER, INTENT(in) :: flag_aerosol 32 34 REAL, DIMENSION(klon,klev), INTENT(in) :: pplay … … 44 46 ! 45 47 REAL, DIMENSION(klon,klev,naero_tot,nbands) :: tau_ae 48 !RAF 49 REAL, DIMENSION(klon,klev,naero_tot,nbands) :: tau_ae_pi 46 50 REAL, DIMENSION(klon,klev,naero_tot,nbands) :: piz_ae 47 51 REAL, DIMENSION(klon,klev,naero_tot,nbands) :: cg_ae … … 53 57 54 58 INTEGER, PARAMETER :: nbre_RH=12 55 INTEGER, PARAMETER :: naero_soluble=7 ! 1- BC soluble; 2- POM soluble; 3- SO4. 59 INTEGER, PARAMETER :: naero_soluble=7 ! 1- BC soluble; 2- POM soluble; 3- SO4. acc. 4- SO4 coarse 60 ! 5- seasalt super coarse 6- seasalt coarse 7- seasalt acc. 56 61 INTEGER, PARAMETER :: naero_insoluble=3 ! 1- Dust; 2- BC insoluble; 3- POM insoluble 57 62 LOGICAL, SAVE :: firstcall=.TRUE. … … 101 106 INTEGER :: nb_aer 102 107 REAL, DIMENSION(klon,klev,naero_spc) :: mass_temp 108 !RAF 109 REAL, DIMENSION(klon,klev,naero_spc) :: mass_temp_pi 103 110 104 111 ! … … 563 570 zrho=pplay(i,k)/t_seri(i,k)/RD ! kg/m3 564 571 mass_temp(i,k,:) = m_allaer(i,k,:) / zrho / 1.e+9 572 !RAF zrho 573 mass_temp_pi(i,k,:) = m_allaer_pi(i,k,:) / zrho / 1.e+9 565 574 ENDDO 566 575 ENDDO … … 615 624 616 625 tau_ae(:,:,:,:)=0. 626 !RAF 627 tau_ae_pi(:,:,:,:)=0. 617 628 piz_ae(:,:,:,:)=0. 618 629 cg_ae(:,:,:,:)=0. … … 749 760 mass_temp(i,k,spsol)*1000.*zdp1(i,k)*delt* & 750 761 tau_ae2b_int(i,k,inu)*fac 762 !RAF fac 763 tau_ae_pi(i,k,aerosol_name(m),inu) = & 764 mass_temp_pi(i,k,spsol)*1000.*zdp1(i,k)*delt* & 765 tau_ae2b_int(i,k,inu)*fac 751 766 752 767 ELSE ! For all aerosol insoluble components … … 758 773 mass_temp(i,k,naero_soluble+ spinsol)*1000.*zdp1(i,k)* & 759 774 delt*tau_ae2b_int(i,k,inu)*fac 775 !RAF fac 776 tau_ae_pi(i,k,aerosol_name(m),inu) = & 777 mass_temp_pi(i,k,naero_soluble+ spinsol)*1000.*zdp1(i,k)* & 778 delt*tau_ae2b_int(i,k,inu)*fac 760 779 ENDIF 761 780 … … 807 826 808 827 ELSEIF (mrfspecies .EQ. 3) THEN ! = natural aerosol NAT 809 tau_allaer(i,k,mrfspecies,inu)=tau_ae(i,k,id_ASSO4M,inu)*fractnat_allaer(i,id_ASSO4M)+ & 810 tau_ae(i,k,id_CSSO4M,inu)*fractnat_allaer(i,id_CSSO4M)+ & 811 tau_ae(i,k,id_ASBCM,inu)*fractnat_allaer(i,id_ASBCM)+ & 812 tau_ae(i,k,id_AIBCM,inu)*fractnat_allaer(i,id_AIBCM)+ & 813 tau_ae(i,k,id_ASPOMM,inu)*fractnat_allaer(i,id_ASPOMM)+ & 814 tau_ae(i,k,id_AIPOMM,inu)*fractnat_allaer(i,id_AIPOMM)+ & 815 tau_ae(i,k,id_ASSSM,inu)*fractnat_allaer(i,id_ASSSM)+ & 816 tau_ae(i,k,id_CSSSM,inu)*fractnat_allaer(i,id_CSSSM)+ & 817 tau_ae(i,k,id_SSSSM,inu)*fractnat_allaer(i,id_SSSSM)+ & 818 tau_ae(i,k,id_CIDUSTM,inu)*fractnat_allaer(i,id_CIDUSTM) 828 !RAF 829 tau_allaer(i,k,mrfspecies,inu)=tau_ae_pi(i,k,id_ASSO4M,inu)+ & 830 tau_ae_pi(i,k,id_CSSO4M,inu)+ & 831 tau_ae_pi(i,k,id_ASBCM,inu)+ & 832 tau_ae_pi(i,k,id_AIBCM,inu)+ & 833 tau_ae_pi(i,k,id_ASPOMM,inu)+ & 834 tau_ae_pi(i,k,id_AIPOMM,inu)+ & 835 tau_ae_pi(i,k,id_ASSSM,inu)+ & 836 tau_ae_pi(i,k,id_CSSSM,inu)+ & 837 tau_ae_pi(i,k,id_SSSSM,inu)+ & 838 tau_ae_pi(i,k,id_CIDUSTM,inu) 819 839 tau_allaer(i,k,mrfspecies,inu)=MAX(tau_allaer(i,k,mrfspecies,inu),1e-20) 820 840 821 piz_allaer(i,k,mrfspecies,inu)=(tau_ae (i,k,id_ASSO4M,inu)*fractnat_allaer(i,id_ASSO4M)*piz_ae(i,k,id_ASSO4M,inu)+ &822 tau_ae (i,k,id_CSSO4M,inu)*fractnat_allaer(i,id_CSSO4M)*piz_ae(i,k,id_CSSO4M,inu)+ &823 tau_ae (i,k,id_ASBCM,inu)*fractnat_allaer(i,id_ASBCM)*piz_ae(i,k,id_ASBCM,inu)+ &824 tau_ae (i,k,id_AIBCM,inu)*fractnat_allaer(i,id_AIBCM)*piz_ae(i,k,id_AIBCM,inu)+ &825 tau_ae (i,k,id_ASPOMM,inu)*fractnat_allaer(i,id_ASPOMM)*piz_ae(i,k,id_ASPOMM,inu)+ &826 tau_ae (i,k,id_AIPOMM,inu)*fractnat_allaer(i,id_AIPOMM)*piz_ae(i,k,id_AIPOMM,inu)+ &827 tau_ae (i,k,id_ASSSM,inu)*fractnat_allaer(i,id_ASSSM)*piz_ae(i,k,id_ASSSM,inu)+ &828 tau_ae (i,k,id_CSSSM,inu)*fractnat_allaer(i,id_CSSSM)*piz_ae(i,k,id_CSSSM,inu)+ &829 tau_ae (i,k,id_SSSSM,inu)*fractnat_allaer(i,id_SSSSM)*piz_ae(i,k,id_SSSSM,inu)+ &830 tau_ae (i,k,id_CIDUSTM,inu)*fractnat_allaer(i,id_CIDUSTM)*piz_ae(i,k,id_CIDUSTM,inu)) &841 piz_allaer(i,k,mrfspecies,inu)=(tau_ae_pi(i,k,id_ASSO4M,inu)*piz_ae(i,k,id_ASSO4M,inu)+ & 842 tau_ae_pi(i,k,id_CSSO4M,inu)*piz_ae(i,k,id_CSSO4M,inu)+ & 843 tau_ae_pi(i,k,id_ASBCM,inu)*piz_ae(i,k,id_ASBCM,inu)+ & 844 tau_ae_pi(i,k,id_AIBCM,inu)*piz_ae(i,k,id_AIBCM,inu)+ & 845 tau_ae_pi(i,k,id_ASPOMM,inu)*piz_ae(i,k,id_ASPOMM,inu)+ & 846 tau_ae_pi(i,k,id_AIPOMM,inu)*piz_ae(i,k,id_AIPOMM,inu)+ & 847 tau_ae_pi(i,k,id_ASSSM,inu)*piz_ae(i,k,id_ASSSM,inu)+ & 848 tau_ae_pi(i,k,id_CSSSM,inu)*piz_ae(i,k,id_CSSSM,inu)+ & 849 tau_ae_pi(i,k,id_SSSSM,inu)*piz_ae(i,k,id_SSSSM,inu)+ & 850 tau_ae_pi(i,k,id_CIDUSTM,inu)*piz_ae(i,k,id_CIDUSTM,inu)) & 831 851 /tau_allaer(i,k,mrfspecies,inu) 832 852 piz_allaer(i,k,mrfspecies,inu)=MAX(piz_allaer(i,k,mrfspecies,inu),1e-20) 833 853 834 854 cg_allaer(i,k,mrfspecies,inu)=(& 835 tau_ae (i,k,id_ASSO4M,inu)*fractnat_allaer(i,id_ASSO4M)*piz_ae(i,k,id_ASSO4M,inu)*cg_ae(i,k,id_ASSO4M,inu)+ &836 tau_ae (i,k,id_CSSO4M,inu)*fractnat_allaer(i,id_CSSO4M)*piz_ae(i,k,id_CSSO4M,inu)*cg_ae(i,k,id_CSSO4M,inu)+ &837 tau_ae (i,k,id_ASBCM,inu)*fractnat_allaer(i,id_ASBCM)*piz_ae(i,k,id_ASBCM,inu)*cg_ae(i,k,id_ASBCM,inu)+ &838 tau_ae (i,k,id_AIBCM,inu)*fractnat_allaer(i,id_AIBCM)*piz_ae(i,k,id_AIBCM,inu)*cg_ae(i,k,id_AIBCM,inu)+ &839 tau_ae (i,k,id_ASPOMM,inu)*fractnat_allaer(i,id_ASPOMM)*piz_ae(i,k,id_ASPOMM,inu)*cg_ae(i,k,id_ASPOMM,inu)+ &840 tau_ae (i,k,id_AIPOMM,inu)*fractnat_allaer(i,id_AIPOMM)*piz_ae(i,k,id_AIPOMM,inu)*cg_ae(i,k,id_AIPOMM,inu)+ &841 tau_ae (i,k,id_ASSSM,inu)*fractnat_allaer(i,id_ASSSM)*piz_ae(i,k,id_ASSSM,inu)*cg_ae(i,k,id_ASSSM,inu)+ &842 tau_ae (i,k,id_CSSSM,inu)*fractnat_allaer(i,id_CSSSM)*piz_ae(i,k,id_CSSSM,inu)*cg_ae(i,k,id_CSSSM,inu)+ &843 tau_ae (i,k,id_SSSSM,inu)*fractnat_allaer(i,id_SSSSM)*piz_ae(i,k,id_SSSSM,inu)*cg_ae(i,k,id_SSSSM,inu)+ &844 tau_ae (i,k,id_CIDUSTM,inu)*fractnat_allaer(i,id_CIDUSTM)*piz_ae(i,k,id_CIDUSTM,inu)*&855 tau_ae_pi(i,k,id_ASSO4M,inu)*piz_ae(i,k,id_ASSO4M,inu)*cg_ae(i,k,id_ASSO4M,inu)+ & 856 tau_ae_pi(i,k,id_CSSO4M,inu)*piz_ae(i,k,id_CSSO4M,inu)*cg_ae(i,k,id_CSSO4M,inu)+ & 857 tau_ae_pi(i,k,id_ASBCM,inu)*piz_ae(i,k,id_ASBCM,inu)*cg_ae(i,k,id_ASBCM,inu)+ & 858 tau_ae_pi(i,k,id_AIBCM,inu)*piz_ae(i,k,id_AIBCM,inu)*cg_ae(i,k,id_AIBCM,inu)+ & 859 tau_ae_pi(i,k,id_ASPOMM,inu)*piz_ae(i,k,id_ASPOMM,inu)*cg_ae(i,k,id_ASPOMM,inu)+ & 860 tau_ae_pi(i,k,id_AIPOMM,inu)*piz_ae(i,k,id_AIPOMM,inu)*cg_ae(i,k,id_AIPOMM,inu)+ & 861 tau_ae_pi(i,k,id_ASSSM,inu)*piz_ae(i,k,id_ASSSM,inu)*cg_ae(i,k,id_ASSSM,inu)+ & 862 tau_ae_pi(i,k,id_CSSSM,inu)*piz_ae(i,k,id_CSSSM,inu)*cg_ae(i,k,id_CSSSM,inu)+ & 863 tau_ae_pi(i,k,id_SSSSM,inu)*piz_ae(i,k,id_SSSSM,inu)*cg_ae(i,k,id_SSSSM,inu)+ & 864 tau_ae_pi(i,k,id_CIDUSTM,inu)*piz_ae(i,k,id_CIDUSTM,inu)*& 845 865 cg_ae(i,k,id_CIDUSTM,inu))/ & 846 866 (tau_allaer(i,k,mrfspecies,inu)*piz_allaer(i,k,mrfspecies,inu)) 847 867 868 !END RAF 848 869 ELSEIF (mrfspecies .EQ. 4) THEN ! = BC 849 870 tau_allaer(i,k,mrfspecies,inu)=tau_ae(i,k,id_ASBCM,inu)+tau_ae(i,k,id_AIBCM,inu)
Note: See TracChangeset
for help on using the changeset viewer.