Changeset 2836 for trunk/LMDZ.VENUS/libf/phyvenus/chemparam_mod.F90
- Timestamp:
- Nov 30, 2022, 4:46:57 PM (2 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LMDZ.VENUS/libf/phyvenus/chemparam_mod.F90
r2795 r2836 13 13 i_cocl2, i_s, i_so, i_so2, i_so3, & 14 14 i_s2o2, i_ocs, i_hso3, i_h2so4, i_s2, & 15 i_clso2, i_oscl, i_n2, i_he, i_no2, & 16 i_no, i_n, i_n2d 15 i_clso2, i_oscl, i_n2, i_he, i_n, i_no, & 16 i_no2, i_n2d, & 17 i_co2plus, i_coplus, i_oplus, i_o2plus, & 18 i_n2plus, i_hplus, i_h2oplus, i_nplus, & 19 i_ohplus, i_cplus, i_noplus, i_h3oplus, & 20 i_hcoplus, i_hco2plus, i_elec 17 21 18 22 INTEGER, SAVE :: i_h2oliq, i_h2so4liq … … 26 30 INTEGER, SAVE :: nmicro ! number of microphysical tracers 27 31 28 REAL, DIMENSION(:), SAVE, ALLOCATABLE :: M_tr 32 REAL, DIMENSION(:), SAVE, ALLOCATABLE :: M_tr ! Molecular Mass of tracers 33 REAL, DIMENSION(:), SAVE, ALLOCATABLE :: type_tr ! type of tracer 29 34 30 35 REAL, DIMENSION(:,:),SAVE, ALLOCATABLE :: no_emission … … 697 702 INTEGER :: i 698 703 699 ALLOCATE(M_tr(nqtot)) 700 704 ALLOCATE(M_tr(nqtot)) ! Molecular Mass of Chemistry Tracers 705 ALLOCATE(type_tr(nqtot)) ! Type of chemistry tracers 1: neutral, 2: ion, 3: liquide 706 707 ! Initialisation index chemistry tracers 708 709 ! Neutral gas Tracer 710 i_co2 = 0 711 i_co = 0 712 i_h2 = 0 713 i_h2o = 0 714 i_o1d = 0 715 i_o = 0 716 i_o2 = 0 717 i_o2dg = 0 718 i_o3 = 0 719 i_h = 0 720 i_oh = 0 721 i_ho2 = 0 722 i_h2o2 = 0 723 i_cl = 0 724 i_clo = 0 725 i_cl2 = 0 726 i_hcl = 0 727 i_hocl = 0 728 i_clco = 0 729 i_clco3 = 0 730 i_cocl2 = 0 731 i_s = 0 732 i_so = 0 733 i_so2 = 0 734 i_so3 = 0 735 i_s2o2 = 0 736 i_ocs = 0 737 i_hso3 = 0 738 i_h2so4 = 0 739 i_s2 = 0 740 i_clso2 = 0 741 i_oscl = 0 742 i_n2 = 0 743 i_he = 0 744 i_n2d = 0 745 i_n = 0 746 i_no = 0 747 i_no2 = 0 748 ! ION TRACERS FOR IONCHEM = TRUE 749 i_co2plus = 0 750 i_coplus = 0 751 i_oplus = 0 752 i_o2plus = 0 753 i_n2plus = 0 754 i_hplus = 0 755 i_h2oplus = 0 756 i_nplus = 0 757 i_ohplus = 0 758 i_cplus = 0 759 i_noplus = 0 760 i_h3oplus = 0 761 i_hcoplus = 0 762 i_hco2plus = 0 763 i_elec = 0 764 ! MICROPHYSICAL TRACERS FOR CL_SCHEME=1 765 i_h2oliq = 0 766 i_h2so4liq = 0 767 701 768 DO i=1, nqtot 702 769 … … 705 772 706 773 SELECT CASE(tname(i)) 774 ! NEUTRAL TRACERS 707 775 CASE('co2') 708 776 i_co2=i 709 777 PRINT*,'co2',i_co2 710 M_tr(i_co2) = 44.0095 778 M_tr(i_co2) = 44.0095 779 type_tr(i_co2) = 1 711 780 CASE('co') 712 781 i_co=i 713 782 PRINT*,'co',i_co 714 M_tr(i_co)=28.0101 783 M_tr(i_co)=28.0101 784 type_tr(i_co) = 1 715 785 CASE('h2') 716 786 i_h2=i 717 787 PRINT*,'h2',i_h2 718 788 M_tr(i_h2)= 2.01588 789 type_tr(i_h2) = 1 719 790 CASE('h2o') 720 791 i_h2o=i 721 792 PRINT*,'h2o',i_h2o 722 793 M_tr(i_h2o)=18.0153 794 type_tr(i_h2o) = 1 723 795 CASE('o1d') 724 796 i_o1d=i 725 797 PRINT*,'o1d',i_o1d 726 M_tr(i_o1d)=15.994 798 M_tr(i_o1d)=15.994 799 type_tr(i_o1d) = 1 727 800 CASE('o') 728 801 i_o=i 729 802 PRINT*,'o',i_o 730 M_tr(i_o)=15.994 803 M_tr(i_o)=15.994 804 type_tr(i_o) = 1 731 805 CASE('o2') 732 806 i_o2=i 733 807 PRINT*,'o2',i_o2 734 808 M_tr(i_o2)=31.9988 809 type_tr(i_o2) = 1 735 810 CASE('o2dg') 736 811 i_o2dg=i 737 812 PRINT*,'o2dg',i_o2dg 738 813 M_tr(i_o2dg)=31.9988 814 type_tr(i_o2dg) = 1 739 815 CASE('o3') 740 816 i_o3=i 741 817 PRINT*,'o3',i_o3 742 M_tr(i_o3)= 47.9982 818 M_tr(i_o3)= 47.9982 819 type_tr(i_o3) = 1 743 820 CASE('h') 744 821 i_h=i 745 822 PRINT*,'h',i_h 746 M_tr(i_h)= 1.00794 823 M_tr(i_h)= 1.00794 824 type_tr(i_h) = 1 747 825 CASE('oh') 748 826 i_oh=i 749 827 PRINT*,'oh',i_oh 750 828 M_tr(i_oh)=17.0073 829 type_tr(i_oh) = 1 751 830 CASE('ho2') 752 831 i_ho2=i 753 832 PRINT*,'ho2',i_ho2 754 833 M_tr(i_ho2)=33.0067 834 type_tr(i_ho2) = 1 755 835 CASE('h2o2') 756 836 i_h2o2=i 757 837 PRINT*,'h2o2',i_h2o2 758 M_tr(i_h2o2)=34.0147 838 M_tr(i_h2o2)=34.0147 839 type_tr(i_h2o2) = 1 759 840 CASE('cl') 760 841 i_cl=i 761 842 PRINT*,'cl',i_cl 762 843 M_tr(i_cl)=35.453 844 type_tr(i_cl) = 1 763 845 CASE('clo') 764 846 i_clo=i 765 847 PRINT*,'clo',i_clo 766 848 M_tr(i_clo)=51.452 849 type_tr(i_clo) = 1 767 850 CASE('cl2') 768 851 i_cl2=i 769 852 PRINT*,'cl2',i_cl2 770 853 M_tr(i_cl2)=70.906 854 type_tr(i_cl2) = 1 771 855 CASE('hcl') 772 856 i_hcl=i 773 857 PRINT*,'hcl',i_hcl 774 858 M_tr(i_hcl)=36.461 859 type_tr(i_hcl) = 1 775 860 CASE('hocl') 776 861 i_hocl=i 777 862 PRINT*,'hocl',i_hocl 778 863 M_tr(i_hocl)=52.46 779 CASE('clco') 864 type_tr(i_hocl) = 1 865 CASE('clco') 780 866 i_clco=i 781 867 PRINT*,'clco',i_clco 782 868 M_tr(i_clco)=63.463 783 CASE('clco3') 869 type_tr(i_clco) = 1 870 CASE('clco3') 784 871 i_clco3=i 785 872 PRINT*,'clco3',i_clco3 786 873 M_tr(i_clco3)=95.462 787 CASE('cocl2') 874 type_tr(i_clco3) = 1 875 CASE('cocl2') 788 876 i_cocl2=i 789 877 PRINT*,'cocl2',i_cocl2 790 878 M_tr(i_cocl2)=98.916 791 CASE('s') 879 type_tr(i_cocl2) = 1 880 CASE('s') 792 881 i_s=i 793 882 PRINT*,'s',i_s 794 883 M_tr(i_s)=32.065 795 CASE('so') 884 type_tr(i_s) = 1 885 CASE('so') 796 886 i_so=i 797 887 PRINT*,'so',i_so 798 888 M_tr(i_so)=48.0644 799 CASE('so2') 889 type_tr(i_so) = 1 890 CASE('so2') 800 891 i_so2=i 801 892 PRINT*,'so2',i_so2 802 893 M_tr(i_so2)=64.064 803 CASE('so3') 894 type_tr(i_so2) = 1 895 CASE('so3') 804 896 i_so3=i 805 897 PRINT*,'so3',i_so3 806 898 M_tr(i_so3)=80.063 807 CASE('s2o2') 899 type_tr(i_so3) = 1 900 CASE('s2o2') 808 901 i_s2o2=i 809 902 PRINT*,'s2o2',i_s2o2 810 903 M_tr(i_s2o2)= 96.1288 811 CASE('ocs') 904 type_tr(i_s2o2) = 1 905 CASE('ocs') 812 906 i_ocs=i 813 907 PRINT*,'ocs',i_ocs 814 908 M_tr(i_ocs)=60.0751 815 CASE('hso3') 909 type_tr(i_ocs) = 1 910 CASE('hso3') 816 911 i_hso3=i 817 912 PRINT*,'hso3',i_hso3 818 913 M_tr(i_hso3)=81.071 819 CASE('h2so4') 914 type_tr(i_hso3) = 1 915 CASE('h2so4') 820 916 i_h2so4=i 821 917 PRINT*,'h2so4',i_h2so4 822 918 M_tr(i_h2so4)=98.078 823 CASE('s2') 919 type_tr(i_h2so4) = 1 920 CASE('s2') 824 921 i_s2=i 825 922 PRINT*,'s2',i_s2 826 923 M_tr(i_s2)=64.13 827 CASE('clso2') 924 type_tr(i_s2) = 1 925 CASE('clso2') 828 926 i_clso2=i 829 927 PRINT*,'clso2',i_clso2 830 928 M_tr(i_clso2)=99.517 831 CASE('oscl') 929 type_tr(i_clso2) = 1 930 CASE('oscl') 832 931 i_oscl=i 833 932 PRINT*,'oscl',i_oscl 834 933 M_tr(i_oscl)=83.517 835 CASE('n2') 836 i_n2=i 837 M_tr(i_n2)=28.013 838 CASE('he') 839 i_he=i 840 M_tr(i_he)=4.0026 841 CASE('no2') 842 i_no2=i 843 M_tr(i_no2)=46.0055 844 CASE('no') 845 i_no = i 846 M_tr(i_no)=30.0061 847 CASE('n') 848 i_n = i 849 M_tr(i_n)=14.0067 850 CASE('n2d') 851 i_n2d = i 852 M_tr(i_n2d)=14.0067 934 type_tr(i_oscl) = 1 935 CASE('n2') 936 i_n2=i 937 PRINT*,'n2',i_n2 938 M_tr(i_n2)=28.013 939 type_tr(i_n2) = 1 940 CASE('he') 941 i_he=i 942 PRINT*,'he',i_he 943 M_tr(i_he)=4.0026 944 type_tr(i_he) = 1 945 CASE('n2d') 946 i_n2d=i 947 PRINT*,'n2d',i_n2d 948 M_tr(i_n2d)=14.0067 949 type_tr(i_n2d) = 1 950 CASE('n') 951 i_n=i 952 PRINT*,'n',i_n 953 M_tr(i_n)=14.0067 954 type_tr(i_n) = 1 955 CASE('no') 956 i_no=i 957 PRINT*,'no',i_no 958 M_tr(i_no)=30.0061 959 type_tr(i_no) = 1 960 CASE('no2') 961 i_no2=i 962 PRINT*,'no2',i_no2 963 M_tr(i_no2)=46.0055 964 type_tr(i_no2) = 1 965 ! ION TRACERS FOR OK_IONCHEM = TRUE 966 CASE('co2plus') 967 i_co2plus=i 968 PRINT*,'co2plus',i_co2plus 969 M_tr(i_co2plus)=44.0095 970 type_tr(i_co2plus) = 2 971 CASE('coplus') 972 i_coplus=i 973 PRINT*,'coplus',i_coplus 974 M_tr(i_coplus)=28.0101 975 type_tr(i_coplus) = 2 976 CASE('oplus') 977 i_oplus=i 978 PRINT*,'oplus',i_oplus 979 M_tr(i_oplus)=15.994 980 type_tr(i_oplus) = 2 981 CASE('o2plus') 982 i_o2plus=i 983 PRINT*,'o2plus',i_o2plus 984 M_tr(i_o2plus)=31.9988 985 type_tr(i_o2plus) = 2 986 CASE('n2plus') 987 i_n2plus=i 988 PRINT*,'n2plus',i_n2plus 989 M_tr(i_n2plus)=28.013 990 type_tr(i_n2plus) = 2 991 CASE('hplus') 992 i_hplus=i 993 PRINT*,'hplus',i_hplus 994 M_tr(i_hplus)=1.00794 995 type_tr(i_hplus) = 2 996 CASE('h2oplus') 997 i_h2oplus=i 998 PRINT*,'h2oplus',i_h2oplus 999 M_tr(i_h2oplus)=18.0153 1000 type_tr(i_h2oplus) = 2 1001 CASE('nplus') 1002 i_nplus=i 1003 PRINT*,'nplus',i_nplus 1004 M_tr(i_nplus)=14.0067 1005 type_tr(i_nplus) = 2 1006 CASE('ohplus') 1007 i_ohplus=i 1008 PRINT*,'ohplus',i_ohplus 1009 M_tr(i_ohplus)=17.0073 1010 type_tr(i_ohplus) = 2 1011 CASE('cplus') 1012 i_cplus=i 1013 PRINT*,'cplus',i_cplus 1014 M_tr(i_cplus)=12.011 1015 type_tr(i_cplus) = 2 1016 CASE('noplus') 1017 i_noplus=i 1018 PRINT*,'noplus',i_noplus 1019 M_tr(i_noplus)=30.0061 1020 type_tr(i_noplus) = 2 1021 CASE('h3oplus') 1022 i_h3oplus=i 1023 PRINT*,'h3oplus',i_h3oplus 1024 M_tr(i_h3oplus)=19.0232 1025 type_tr(i_h3oplus) = 2 1026 CASE('hcoplus') 1027 i_hcoplus=i 1028 PRINT*,'hcoplus',i_hcoplus 1029 M_tr(i_hcoplus)=29.0180 1030 type_tr(i_hcoplus) = 2 1031 CASE('hco2plus') 1032 i_hco2plus=i 1033 PRINT*,'hco2plus',i_hco2plus 1034 M_tr(i_hco2plus)=45. 1035 type_tr(i_hco2plus) = 2 1036 CASE('elec') 1037 i_elec=i 1038 PRINT*,'elec',i_elec 1039 M_tr(i_elec)=1./1822.89 1040 type_tr(i_elec) = 2 853 1041 ! MICROPHYSICAL TRACERS FOR CL_SCHEME=1 854 1042 CASE('h2oliq') … … 856 1044 PRINT*,'h2oliq',i_h2oliq 857 1045 M_tr(i_h2oliq)=18.0153 1046 type_tr(i_h2oliq) = 3 858 1047 CASE('h2so4liq') 859 1048 i_h2so4liq=i 860 1049 PRINT*,'h2so4liq',i_h2so4liq 861 1050 M_tr(i_h2so4liq)=98.078 1051 type_tr(i_h2so4liq) = 3 862 1052 ! MICROPHYSICAL TRACERS FOR CL_SCHEME=2 863 1053 CASE('M0_aer') 864 1054 i_m0_aer=i 1055 type_tr(i_m0_aer) = 10 865 1056 PRINT*,'M0_aer',i_m0_aer 866 1057 CASE('M3_aer') 867 1058 i_m3_aer=i 1059 type_tr(i_m3_aer) = 10 868 1060 PRINT*,'M3_aer',i_m3_aer 869 1061 CASE('M0_m1drop') 870 1062 i_m0_mode1drop=i 1063 type_tr(i_m0_mode1drop) = 10 871 1064 PRINT*,'M0_m1drop',i_m0_mode1drop 872 1065 CASE('M0_m1ccn') 873 1066 i_m0_mode1ccn=i 1067 type_tr(i_m0_mode1ccn) = 10 874 1068 PRINT*,'M0_m1ccn',i_m0_mode1ccn 875 1069 CASE('M3_m1sa') 876 1070 i_m3_mode1sa=i 1071 type_tr(i_m3_mode1sa) = 10 877 1072 PRINT*,'M3_m1sa',i_m3_mode1sa 878 1073 CASE('M3_m1w') 879 1074 i_m3_mode1w=i 1075 type_tr(i_m3_mode1w) = 10 880 1076 PRINT*,'M3_m1w',i_m3_mode1w 881 1077 CASE('M3_m1ccn') 882 1078 i_m3_mode1ccn=i 1079 type_tr(i_m3_mode1ccn) = 10 883 1080 PRINT*,'M3_m1ccn',i_m3_mode1ccn 884 1081 CASE('M0_m2drop') 885 1082 i_m0_mode2drop=i 1083 type_tr(i_m0_mode2drop) = 10 886 1084 PRINT*,'M0_m2drop',i_m0_mode2drop 887 1085 CASE('M0_m2ccn') 888 1086 i_m0_mode2ccn=i 1087 type_tr(i_m0_mode2ccn) = 10 889 1088 PRINT*,'M0_m2ccn',i_m0_mode2ccn 890 1089 CASE('M3_m2sa') 891 1090 i_m3_mode2sa=i 1091 type_tr(i_m3_mode2sa) = 10 892 1092 PRINT*,'M3_m2sa',i_m3_mode2sa 893 1093 CASE('M3_m2w') 894 1094 i_m3_mode2w=i 1095 type_tr(i_m3_mode2w) = 10 895 1096 PRINT*,'M3_m2w',i_m3_mode2w 896 1097 CASE('M3_m2ccn') 897 1098 i_m3_mode2ccn=i 1099 type_tr(i_m3_mode2ccn) = 10 898 1100 PRINT*,'M3_m2ccn',i_m3_mode2ccn 899 1101 END SELECT
Note: See TracChangeset
for help on using the changeset viewer.