LCOV - code coverage report
Current view: top level - chemistry/pp_waccm_ma_noaero - mo_sim_dat.F90 (source / functions) Hit Total Coverage
Test: coverage.info Lines: 49 72 68.1 %
Date: 2025-03-14 01:33:33 Functions: 1 1 100.0 %

          Line data    Source code
       1             : 
       2             :       module mo_sim_dat
       3             : 
       4             :       private
       5             :       public :: set_sim_dat
       6             : 
       7             :       contains
       8             : 
       9        1536 :       subroutine set_sim_dat
      10             : 
      11             :       use chem_mods,     only : clscnt, cls_rxt_cnt, clsmap, permute, adv_mass, fix_mass, crb_mass
      12             :       use chem_mods,     only : diag_map
      13             :       use chem_mods,     only : phtcnt, rxt_tag_cnt, rxt_tag_lst, rxt_tag_map
      14             :       use chem_mods,     only : pht_alias_lst, pht_alias_mult
      15             :       use chem_mods,     only : extfrc_lst, inv_lst, slvd_lst
      16             :       use chem_mods,     only : enthalpy_cnt, cph_enthalpy, cph_rid, num_rnts, rxntot
      17             :       use cam_abortutils,only : endrun
      18             :       use mo_tracname,   only : solsym
      19             :       use chem_mods,     only : frc_from_dataset
      20             :       use chem_mods,     only : is_scalar, is_vector
      21             :       use shr_kind_mod,  only : r8 => shr_kind_r8
      22             :       use cam_logfile,   only : iulog
      23             : 
      24             :       implicit none
      25             : 
      26             : !--------------------------------------------------------------
      27             : !      ... local variables
      28             : !--------------------------------------------------------------
      29             :       integer :: ios
      30             : 
      31        1536 :       is_scalar = .false.
      32        1536 :       is_vector = .true.
      33             : 
      34        1536 :       clscnt(:) = (/     23,     0,     0,    58,     0 /)
      35             : 
      36        7680 :       cls_rxt_cnt(:,1) = (/      3,    59,     0,    23 /)
      37        7680 :       cls_rxt_cnt(:,4) = (/     30,   126,   155,    58 /)
      38             : 
      39             :       solsym(: 81) = (/ 'BR              ','BRCL            ','BRO             ','BRONO2          ','BRY             ', &
      40             :                         'CCL4            ','CF2CLBR         ','CF3BR           ','CFC11           ','CFC113          ', &
      41             :                         'CFC114          ','CFC115          ','CFC12           ','CH2BR2          ','CH2O            ', &
      42             :                         'CH3BR           ','CH3CCL3         ','CH3CL           ','CH3O2           ','CH3OOH          ', &
      43             :                         'CH4             ','CHBR3           ','CL              ','CL2             ','CL2O2           ', &
      44             :                         'CLO             ','CLONO2          ','CLY             ','CO              ','CO2             ', &
      45             :                         'COF2            ','COFCL           ','DMS             ','F               ','H               ', &
      46             :                         'H2              ','H2402           ','H2O2            ','H2SO4           ','HBR             ', &
      47             :                         'HCFC141B        ','HCFC142B        ','HCFC22          ','HCL             ','HF              ', &
      48             :                         'HNO3            ','HO2NO2          ','HOBR            ','HOCL            ','N               ', &
      49             :                         'N2O             ','N2O5            ','NO              ','NO2             ','NO3             ', &
      50             :                         'O               ','O2              ','O3              ','OCLO            ','OCS             ', &
      51             :                         'S               ','SF6             ','SO              ','SO2             ','SO3             ', &
      52             :                         'SOAG            ','e               ','HO2             ','N2D             ','N2p             ', &
      53             :                         'NOp             ','Np              ','O1D             ','O2_1D           ','O2_1S           ', &
      54             :                         'O2p             ','OH              ','Op              ','Op2D            ','Op2P            ', &
      55      125952 :                         'H2O             ' /)
      56             : 
      57             :       adv_mass(: 81) = (/    79.904000_r8,   115.356700_r8,    95.903400_r8,   141.908940_r8,    99.716850_r8, &
      58             :                             153.821800_r8,   165.364506_r8,   148.910210_r8,   137.367503_r8,   187.375310_r8, &
      59             :                             170.921013_r8,   154.466716_r8,   120.913206_r8,   173.833800_r8,    30.025200_r8, &
      60             :                              94.937200_r8,   133.402300_r8,    50.485900_r8,    47.032000_r8,    48.039400_r8, &
      61             :                              16.040600_r8,   252.730400_r8,    35.452700_r8,    70.905400_r8,   102.904200_r8, &
      62             :                              51.452100_r8,    97.457640_r8,   100.916850_r8,    28.010400_r8,    44.009800_r8, &
      63             :                              66.007206_r8,    82.461503_r8,    62.132400_r8,    18.998403_r8,     1.007400_r8, &
      64             :                               2.014800_r8,   259.823613_r8,    34.013600_r8,    98.078400_r8,    80.911400_r8, &
      65             :                             116.948003_r8,   100.493706_r8,    86.467906_r8,    36.460100_r8,    20.005803_r8, &
      66             :                              63.012340_r8,    79.011740_r8,    96.910800_r8,    52.459500_r8,    14.006740_r8, &
      67             :                              44.012880_r8,   108.010480_r8,    30.006140_r8,    46.005540_r8,    62.004940_r8, &
      68             :                              15.999400_r8,    31.998800_r8,    47.998200_r8,    67.451500_r8,    60.076400_r8, &
      69             :                              32.066000_r8,   146.056419_r8,    48.065400_r8,    64.064800_r8,    80.064200_r8, &
      70             :                              12.011000_r8, 0.548567E-03_r8,    33.006200_r8,    14.006740_r8,    28.013480_r8, &
      71             :                              30.006140_r8,    14.006740_r8,    15.999400_r8,    31.998800_r8,    31.998800_r8, &
      72             :                              31.998800_r8,    17.006800_r8,    15.999400_r8,    15.999400_r8,    15.999400_r8, &
      73        1536 :                              18.014200_r8 /)
      74             : 
      75             :       crb_mass(: 81) = (/     0.000000_r8,     0.000000_r8,     0.000000_r8,     0.000000_r8,     0.000000_r8, &
      76             :                              12.011000_r8,    12.011000_r8,    12.011000_r8,    12.011000_r8,    24.022000_r8, &
      77             :                              24.022000_r8,    24.022000_r8,    12.011000_r8,    12.011000_r8,    12.011000_r8, &
      78             :                              12.011000_r8,    24.022000_r8,    12.011000_r8,    12.011000_r8,    12.011000_r8, &
      79             :                              12.011000_r8,    12.011000_r8,     0.000000_r8,     0.000000_r8,     0.000000_r8, &
      80             :                               0.000000_r8,     0.000000_r8,    12.011000_r8,    12.011000_r8,    12.011000_r8, &
      81             :                              12.011000_r8,    12.011000_r8,    24.022000_r8,     0.000000_r8,     0.000000_r8, &
      82             :                               0.000000_r8,    24.022000_r8,     0.000000_r8,     0.000000_r8,     0.000000_r8, &
      83             :                              24.022000_r8,    24.022000_r8,    12.011000_r8,     0.000000_r8,     0.000000_r8, &
      84             :                               0.000000_r8,     0.000000_r8,     0.000000_r8,     0.000000_r8,     0.000000_r8, &
      85             :                               0.000000_r8,     0.000000_r8,     0.000000_r8,     0.000000_r8,     0.000000_r8, &
      86             :                               0.000000_r8,     0.000000_r8,     0.000000_r8,     0.000000_r8,    12.011000_r8, &
      87             :                               0.000000_r8,     0.000000_r8,     0.000000_r8,     0.000000_r8,     0.000000_r8, &
      88             :                              12.011000_r8,     0.000000_r8,     0.000000_r8,     0.000000_r8,     0.000000_r8, &
      89             :                               0.000000_r8,     0.000000_r8,     0.000000_r8,     0.000000_r8,     0.000000_r8, &
      90             :                               0.000000_r8,     0.000000_r8,     0.000000_r8,     0.000000_r8,     0.000000_r8, &
      91        1536 :                               0.000000_r8 /)
      92             : 
      93        1536 :       fix_mass(:  2) = (/ 0.00000000_r8, 28.0134800_r8 /)
      94             : 
      95             :       clsmap(: 23,1) = (/    5,   6,   7,   8,   9,  10,  11,  12,  13,  14, &
      96             :                             16,  17,  18,  21,  22,  28,  30,  37,  41,  42, &
      97       36864 :                             43,  51,  62 /)
      98             :       clsmap(: 58,4) = (/    1,   2,   3,   4,  15,  19,  20,  23,  24,  25, &
      99             :                             26,  27,  29,  31,  32,  33,  34,  35,  36,  38, &
     100             :                             39,  40,  44,  45,  46,  47,  48,  49,  50,  52, &
     101             :                             53,  54,  55,  56,  57,  58,  59,  60,  61,  63, &
     102             :                             64,  65,  66,  67,  68,  69,  70,  71,  72,  73, &
     103       90624 :                             74,  75,  76,  77,  78,  79,  80,  81 /)
     104             : 
     105             :       permute(: 58,4) = (/   41,   9,  57,  20,  51,  43,  16,  48,   7,   2, &
     106             :                              47,  37,  21,   3,   8,  12,  26,  40,  56,  22, &
     107             :                               4,  29,  42,  10,  38,  17,  27,  28,  35,  13, &
     108             :                              55,  53,  44,  46,  49,  52,  14,  15,  24,  39, &
     109             :                              36,  11,   1,  33,  45,  34,  23,  25,  30,  50, &
     110       90624 :                               5,   6,  32,  54,  31,  19,  18,  58 /)
     111             : 
     112             :       diag_map(: 58) = (/    1,   2,   5,   8,  11,  14,  16,  18,  22,  25, &
     113             :                             29,  33,  39,  45,  50,  58,  64,  71,  78,  84, &
     114             :                             92,  96, 103, 112, 119, 125, 134, 143, 150, 159, &
     115             :                            170, 181, 196, 210, 225, 235, 243, 255, 266, 280, &
     116             :                            291, 310, 328, 350, 376, 420, 449, 475, 507, 533, &
     117        1536 :                            556, 579, 608, 646, 670, 692, 719, 745 /)
     118             : 
     119             :       extfrc_lst(: 13) = (/ 'DMS             ','CO              ','NO              ','NO2             ','SO2             ', &
     120             :                             'N               ','N2D             ','N2p             ','Op              ','e               ', &
     121       21504 :                             'Np              ','O2p             ','OH              ' /)
     122             : 
     123             :       frc_from_dataset(: 13) = (/ .true., .true., .true., .true., .true., &
     124             :                                   .false., .false., .false., .false., .false., &
     125        1536 :                                   .false., .false., .false. /)
     126             : 
     127        4608 :       inv_lst(:  2) = (/ 'M               ', 'N2              ' /)
     128             : 
     129             :       slvd_lst(: 14) = (/ 'e               ', 'HO2             ', 'N2D             ', 'N2p             ', 'NOp             ', &
     130             :                           'Np              ', 'O1D             ', 'O2_1D           ', 'O2_1S           ', 'O2p             ', &
     131       23040 :                           'OH              ', 'Op              ', 'Op2D            ', 'Op2P            ' /)
     132             : 
     133        1536 :       if( allocated( rxt_tag_lst ) ) then
     134           0 :          deallocate( rxt_tag_lst )
     135             :       end if
     136        1536 :       allocate( rxt_tag_lst(rxt_tag_cnt),stat=ios )
     137        1536 :       if( ios /= 0 ) then
     138           0 :          write(iulog,*) 'set_sim_dat: failed to allocate rxt_tag_lst; error = ',ios
     139           0 :          call endrun
     140             :       end if
     141        1536 :       if( allocated( rxt_tag_map ) ) then
     142           0 :          deallocate( rxt_tag_map )
     143             :       end if
     144        1536 :       allocate( rxt_tag_map(rxt_tag_cnt),stat=ios )
     145        1536 :       if( ios /= 0 ) then
     146           0 :          write(iulog,*) 'set_sim_dat: failed to allocate rxt_tag_map; error = ',ios
     147           0 :          call endrun
     148             :       end if
     149        1536 :       rxt_tag_lst(     1:   200) = (/ 'jh2o_b                          ', 'jh2o_c                          ', &
     150             :                                       'jh2o_a                          ', 'jh2o2                           ', &
     151             :                                       'jo2_b                           ', 'jo2_a                           ', &
     152             :                                       'jo3_a                           ', 'jo3_b                           ', &
     153             :                                       'jhno3                           ', 'jho2no2_a                       ', &
     154             :                                       'jho2no2_b                       ', 'jn2o                            ', &
     155             :                                       'jn2o5_a                         ', 'jn2o5_b                         ', &
     156             :                                       'jno                             ', 'jno_i                           ', &
     157             :                                       'jno2                            ', 'jno3_a                          ', &
     158             :                                       'jno3_b                          ', 'jch2o_a                         ', &
     159             :                                       'jch2o_b                         ', 'jch3ooh                         ', &
     160             :                                       'jch4_a                          ', 'jch4_b                          ', &
     161             :                                       'jco2                            ', 'jbrcl                           ', &
     162             :                                       'jbro                            ', 'jbrono2_b                       ', &
     163             :                                       'jbrono2_a                       ', 'jccl4                           ', &
     164             :                                       'jcf2clbr                        ', 'jcf3br                          ', &
     165             :                                       'jcfcl3                          ', 'jcfc113                         ', &
     166             :                                       'jcfc114                         ', 'jcfc115                         ', &
     167             :                                       'jcf2cl2                         ', 'jch2br2                         ', &
     168             :                                       'jch3br                          ', 'jch3ccl3                        ', &
     169             :                                       'jch3cl                          ', 'jchbr3                          ', &
     170             :                                       'jcl2                            ', 'jcl2o2                          ', &
     171             :                                       'jclo                            ', 'jclono2_a                       ', &
     172             :                                       'jclono2_b                       ', 'jcof2                           ', &
     173             :                                       'jcofcl                          ', 'jh2402                          ', &
     174             :                                       'jhbr                            ', 'jhcfc141b                       ', &
     175             :                                       'jhcfc142b                       ', 'jhcfc22                         ', &
     176             :                                       'jhcl                            ', 'jhf                             ', &
     177             :                                       'jhobr                           ', 'jhocl                           ', &
     178             :                                       'joclo                           ', 'jsf6                            ', &
     179             :                                       'jeuv_26                         ', 'jeuv_4                          ', &
     180             :                                       'jeuv_6                          ', 'jeuv_22                         ', &
     181             :                                       'jeuv_23                         ', 'jeuv_25                         ', &
     182             :                                       'jeuv_18                         ', 'jeuv_13                         ', &
     183             :                                       'jeuv_11                         ', 'jeuv_10                         ', &
     184             :                                       'jeuv_3                          ', 'jeuv_16                         ', &
     185             :                                       'jeuv_1                          ', 'jeuv_14                         ', &
     186             :                                       'jeuv_2                          ', 'jeuv_15                         ', &
     187             :                                       'jeuv_21                         ', 'jeuv_17                         ', &
     188             :                                       'jeuv_7                          ', 'jeuv_5                          ', &
     189             :                                       'jeuv_19                         ', 'jeuv_24                         ', &
     190             :                                       'jeuv_12                         ', 'jeuv_9                          ', &
     191             :                                       'jeuv_8                          ', 'jeuv_20                         ', &
     192             :                                       'jh2so4                          ', 'jocs                            ', &
     193             :                                       'jso                             ', 'jso2                            ', &
     194             :                                       'jso3                            ', 'ag1                             ', &
     195             :                                       'ag2                             ', 'O1D_H2                          ', &
     196             :                                       'O1D_H2O                         ', 'O1D_N2                          ', &
     197             :                                       'O1D_O2                          ', 'O1D_O2b                         ', &
     198             :                                       'O1D_O3                          ', 'O2_1D_N2                        ', &
     199             :                                       'O2_1D_O                         ', 'O2_1D_O2                        ', &
     200             :                                       'O2_1S_CO2                       ', 'O2_1S_N2                        ', &
     201             :                                       'O2_1S_O                         ', 'O2_1S_O2                        ', &
     202             :                                       'O2_1S_O3                        ', 'O_O3                            ', &
     203             :                                       'usr_O_O                         ', 'usr_O_O2                        ', &
     204             :                                       'H2_O                            ', 'H2O2_O                          ', &
     205             :                                       'H_HO2                           ', 'H_HO2a                          ', &
     206             :                                       'H_HO2b                          ', 'H_O2                            ', &
     207             :                                       'HO2_O                           ', 'HO2_O3                          ', &
     208             :                                       'H_O3                            ', 'OH_H2                           ', &
     209             :                                       'OH_H2O2                         ', 'OH_HO2                          ', &
     210             :                                       'OH_O                            ', 'OH_O3                           ', &
     211             :                                       'OH_OH                           ', 'OH_OH_M                         ', &
     212             :                                       'usr_HO2_HO2                     ', 'HO2NO2_OH                       ', &
     213             :                                       'N2D_O                           ', 'N2D_O2                          ', &
     214             :                                       'N_NO                            ', 'N_NO2a                          ', &
     215             :                                       'N_NO2b                          ', 'N_NO2c                          ', &
     216             :                                       'N_O2                            ', 'NO2_O                           ', &
     217             :                                       'NO2_O3                          ', 'NO2_O_M                         ', &
     218             :                                       'NO3_HO2                         ', 'NO3_NO                          ', &
     219             :                                       'NO3_O                           ', 'NO3_OH                          ', &
     220             :                                       'N_OH                            ', 'NO_HO2                          ', &
     221             :                                       'NO_O3                           ', 'NO_O_M                          ', &
     222             :                                       'O1D_N2Oa                        ', 'O1D_N2Ob                        ', &
     223             :                                       'tag_NO2_HO2                     ', 'tag_NO2_NO3                     ', &
     224             :                                       'tag_NO2_OH                      ', 'usr_HNO3_OH                     ', &
     225             :                                       'usr_HO2NO2_M                    ', 'usr_N2O5_M                      ', &
     226             :                                       'CL_CH2O                         ', 'CL_CH4                          ', &
     227             :                                       'CL_H2                           ', 'CL_H2O2                         ', &
     228             :                                       'CL_HO2a                         ', 'CL_HO2b                         ', &
     229             :                                       'CL_O3                           ', 'CLO_CH3O2                       ', &
     230             :                                       'CLO_CLOa                        ', 'CLO_CLOb                        ', &
     231             :                                       'CLO_CLOc                        ', 'CLO_HO2                         ', &
     232             :                                       'CLO_NO                          ', 'CLONO2_CL                       ', &
     233             :                                       'CLO_NO2_M                       ', 'CLONO2_O                        ', &
     234             :                                       'CLONO2_OH                       ', 'CLO_O                           ', &
     235             :                                       'CLO_OHa                         ', 'CLO_OHb                         ', &
     236             :                                       'HCL_O                           ', 'HCL_OH                          ', &
     237             :                                       'HOCL_CL                         ', 'HOCL_O                          ', &
     238             :                                       'HOCL_OH                         ', 'O1D_CCL4                        ', &
     239             :                                       'O1D_CF2CLBR                     ', 'O1D_CFC11                       ', &
     240             :                                       'O1D_CFC113                      ', 'O1D_CFC114                      ', &
     241             :                                       'O1D_CFC115                      ', 'O1D_CFC12                       ', &
     242             :                                       'O1D_HCLa                        ', 'O1D_HCLb                        ', &
     243             :                                       'tag_CLO_CLO_M                   ', 'usr_CL2O2_M                     ', &
     244             :                                       'BR_CH2O                         ', 'BR_HO2                          ', &
     245             :                                       'BR_O3                           ', 'BRO_BRO                         ', &
     246             :                                       'BRO_CLOa                        ', 'BRO_CLOb                        ', &
     247             :                                       'BRO_CLOc                        ', 'BRO_HO2                         ', &
     248      310272 :                                       'BRO_NO                          ', 'BRO_NO2_M                       ' /)
     249        1536 :       rxt_tag_lst(   201:   312) = (/ 'BRONO2_O                        ', 'BRO_O                           ', &
     250             :                                       'BRO_OH                          ', 'HBR_O                           ', &
     251             :                                       'HBR_OH                          ', 'HOBR_O                          ', &
     252             :                                       'O1D_CF3BR                       ', 'O1D_CHBR3                       ', &
     253             :                                       'O1D_H2402                       ', 'O1D_HBRa                        ', &
     254             :                                       'O1D_HBRb                        ', 'F_CH4                           ', &
     255             :                                       'F_H2                            ', 'F_H2O                           ', &
     256             :                                       'F_HNO3                          ', 'O1D_COF2                        ', &
     257             :                                       'O1D_COFCL                       ', 'CH2BR2_CL                       ', &
     258             :                                       'CH2BR2_OH                       ', 'CH3BR_CL                        ', &
     259             :                                       'CH3BR_OH                        ', 'CH3CCL3_OH                      ', &
     260             :                                       'CH3CL_CL                        ', 'CH3CL_OH                        ', &
     261             :                                       'CHBR3_CL                        ', 'CHBR3_OH                        ', &
     262             :                                       'HCFC141B_OH                     ', 'HCFC142B_OH                     ', &
     263             :                                       'HCFC22_OH                       ', 'O1D_CH2BR2                      ', &
     264             :                                       'O1D_CH3BR                       ', 'O1D_HCFC141B                    ', &
     265             :                                       'O1D_HCFC142B                    ', 'O1D_HCFC22                      ', &
     266             :                                       'CH2O_NO3                        ', 'CH2O_O                          ', &
     267             :                                       'CH2O_OH                         ', 'CH3O2_HO2                       ', &
     268             :                                       'CH3O2_NO                        ', 'CH3OOH_OH                       ', &
     269             :                                       'CH4_OH                          ', 'CO_OH_M                         ', &
     270             :                                       'O1D_CH4a                        ', 'O1D_CH4b                        ', &
     271             :                                       'O1D_CH4c                        ', 'usr_CO_OH_b                     ', &
     272             :                                       'DMS_NO3                         ', 'DMS_OHa                         ', &
     273             :                                       'OCS_O                           ', 'OCS_OH                          ', &
     274             :                                       'S_O2                            ', 'S_O3                            ', &
     275             :                                       'SO_BRO                          ', 'SO_CLO                          ', &
     276             :                                       'S_OH                            ', 'SO_NO2                          ', &
     277             :                                       'SO_O2                           ', 'SO_O3                           ', &
     278             :                                       'SO_OCLO                         ', 'SO_OH                           ', &
     279             :                                       'usr_DMS_OH                      ', 'usr_SO2_OH                      ', &
     280             :                                       'usr_SO3_H2O                     ', 'usr_HO2_aer                     ', &
     281             :                                       'usr_N2O5_aer                    ', 'usr_NO2_aer                     ', &
     282             :                                       'usr_NO3_aer                     ', 'het1                            ', &
     283             :                                       'het10                           ', 'het11                           ', &
     284             :                                       'het12                           ', 'het13                           ', &
     285             :                                       'het14                           ', 'het15                           ', &
     286             :                                       'het16                           ', 'het17                           ', &
     287             :                                       'het2                            ', 'het3                            ', &
     288             :                                       'het4                            ', 'het5                            ', &
     289             :                                       'het6                            ', 'het7                            ', &
     290             :                                       'het8                            ', 'het9                            ', &
     291             :                                       'ag247nm                         ', 'ag373nm                         ', &
     292             :                                       'ag732nm                         ', 'elec1                           ', &
     293             :                                       'elec2                           ', 'elec3                           ', &
     294             :                                       'ion_N2p_O2                      ', 'ion_N2p_Oa                      ', &
     295             :                                       'ion_N2p_Ob                      ', 'ion_Np_O                        ', &
     296             :                                       'ion_Np_O2a                      ', 'ion_Np_O2b                      ', &
     297             :                                       'ion_O2p_N                       ', 'ion_O2p_N2                      ', &
     298             :                                       'ion_O2p_NO                      ', 'ion_Op_CO2                      ', &
     299             :                                       'ion_Op_N2                       ', 'ion_Op_N2D                      ', &
     300             :                                       'ion_Op_O2                       ', 'Op2D_e                          ', &
     301             :                                       'Op2D_N2                         ', 'Op2D_O                          ', &
     302             :                                       'Op2D_O2                         ', 'Op2P_ea                         ', &
     303             :                                       'Op2P_eb                         ', 'Op2P_N2a                        ', &
     304      175104 :                                       'Op2P_N2b                        ', 'Op2P_O                          ' /)
     305           0 :       rxt_tag_map(:rxt_tag_cnt) = (/    1,   2,   3,   4,   5,   6,   7,   8,   9,  10, &
     306             :                                        11,  12,  13,  14,  15,  16,  17,  18,  19,  20, &
     307             :                                        21,  22,  23,  24,  25,  26,  27,  28,  29,  30, &
     308             :                                        31,  32,  33,  34,  35,  36,  37,  38,  39,  40, &
     309             :                                        41,  42,  43,  44,  45,  46,  47,  48,  49,  50, &
     310             :                                        51,  52,  53,  54,  55,  56,  57,  58,  59,  60, &
     311             :                                        61,  62,  63,  64,  65,  66,  67,  68,  69,  70, &
     312             :                                        71,  72,  73,  74,  75,  76,  77,  78,  79,  80, &
     313             :                                        81,  82,  83,  84,  85,  86,  87,  88,  89,  90, &
     314             :                                        91,  92,  93,  94,  95,  96,  97,  98,  99, 100, &
     315             :                                       101, 102, 103, 104, 105, 106, 107, 108, 109, 110, &
     316             :                                       111, 112, 113, 114, 115, 116, 117, 118, 119, 120, &
     317             :                                       121, 122, 123, 124, 125, 126, 127, 128, 129, 130, &
     318             :                                       131, 132, 133, 134, 135, 136, 137, 138, 139, 140, &
     319             :                                       141, 142, 143, 144, 145, 146, 147, 148, 149, 150, &
     320             :                                       151, 152, 153, 154, 155, 156, 157, 158, 159, 160, &
     321             :                                       161, 162, 163, 164, 165, 166, 167, 168, 169, 170, &
     322             :                                       171, 172, 173, 174, 175, 176, 177, 178, 179, 180, &
     323             :                                       181, 182, 183, 184, 185, 186, 187, 188, 189, 190, &
     324             :                                       191, 192, 193, 194, 195, 196, 197, 198, 199, 200, &
     325             :                                       201, 202, 203, 204, 205, 206, 207, 208, 209, 210, &
     326             :                                       211, 212, 213, 214, 215, 216, 217, 218, 219, 220, &
     327             :                                       221, 222, 223, 224, 225, 226, 227, 228, 229, 230, &
     328             :                                       231, 232, 233, 234, 235, 236, 237, 238, 239, 240, &
     329             :                                       241, 242, 243, 244, 245, 246, 247, 248, 249, 250, &
     330             :                                       251, 252, 253, 254, 255, 256, 257, 258, 259, 260, &
     331             :                                       261, 262, 263, 264, 265, 266, 267, 268, 269, 270, &
     332             :                                       271, 272, 273, 274, 275, 276, 277, 278, 279, 280, &
     333             :                                       281, 282, 283, 284, 285, 286, 287, 288, 289, 290, &
     334             :                                       291, 292, 293, 294, 295, 296, 297, 298, 299, 300, &
     335             :                                       301, 302, 303, 304, 305, 306, 307, 308, 309, 310, &
     336      482304 :                                       311, 312 /)
     337        1536 :       if( allocated( pht_alias_lst ) ) then
     338           0 :          deallocate( pht_alias_lst )
     339             :       end if
     340        1536 :       allocate( pht_alias_lst(phtcnt,2),stat=ios )
     341        1536 :       if( ios /= 0 ) then
     342           0 :          write(iulog,*) 'set_sim_dat: failed to allocate pht_alias_lst; error = ',ios
     343           0 :          call endrun
     344             :       end if
     345        1536 :       if( allocated( pht_alias_mult ) ) then
     346           0 :          deallocate( pht_alias_mult )
     347             :       end if
     348        1536 :       allocate( pht_alias_mult(phtcnt,2),stat=ios )
     349        1536 :       if( ios /= 0 ) then
     350           0 :          write(iulog,*) 'set_sim_dat: failed to allocate pht_alias_mult; error = ',ios
     351           0 :          call endrun
     352             :       end if
     353           0 :       pht_alias_lst(:,1) = (/ '                ', '                ', '                ', '                ', &
     354             :                               'userdefined     ', 'userdefined     ', '                ', '                ', &
     355             :                               '                ', '                ', '                ', '                ', &
     356             :                               '                ', '                ', 'userdefined     ', '                ', &
     357             :                               '                ', '                ', '                ', '                ', &
     358             :                               '                ', '                ', '                ', '                ', &
     359             :                               '                ', '                ', '                ', '                ', &
     360             :                               '                ', '                ', '                ', '                ', &
     361             :                               '                ', '                ', '                ', '                ', &
     362             :                               '                ', '                ', '                ', '                ', &
     363             :                               '                ', '                ', '                ', '                ', &
     364             :                               '                ', '                ', '                ', '                ', &
     365             :                               '                ', '                ', '                ', '                ', &
     366             :                               '                ', '                ', '                ', '                ', &
     367             :                               '                ', '                ', '                ', '                ', &
     368             :                               'userdefined     ', 'userdefined     ', 'userdefined     ', 'userdefined     ', &
     369             :                               'userdefined     ', 'userdefined     ', 'userdefined     ', 'userdefined     ', &
     370             :                               'userdefined     ', 'userdefined     ', 'userdefined     ', 'userdefined     ', &
     371             :                               'userdefined     ', 'userdefined     ', 'userdefined     ', 'userdefined     ', &
     372             :                               'userdefined     ', 'userdefined     ', 'userdefined     ', 'userdefined     ', &
     373             :                               'userdefined     ', 'userdefined     ', 'userdefined     ', 'userdefined     ', &
     374             :                               'userdefined     ', 'userdefined     ', '                ', '                ', &
     375      141312 :                               '                ', '                ', '                ' /)
     376           0 :       pht_alias_lst(:,2) = (/ '                ', '                ', '                ', '                ', &
     377             :                               '                ', '                ', '                ', '                ', &
     378             :                               '                ', '                ', '                ', '                ', &
     379             :                               '                ', '                ', '                ', '                ', &
     380             :                               '                ', '                ', '                ', '                ', &
     381             :                               '                ', '                ', '                ', '                ', &
     382             :                               '                ', '                ', '                ', '                ', &
     383             :                               '                ', '                ', '                ', '                ', &
     384             :                               '                ', '                ', '                ', '                ', &
     385             :                               '                ', '                ', '                ', '                ', &
     386             :                               '                ', '                ', '                ', '                ', &
     387             :                               '                ', '                ', '                ', '                ', &
     388             :                               '                ', '                ', '                ', '                ', &
     389             :                               '                ', '                ', '                ', '                ', &
     390             :                               '                ', '                ', '                ', '                ', &
     391             :                               'userdefined     ', 'userdefined     ', 'userdefined     ', 'userdefined     ', &
     392             :                               'userdefined     ', 'userdefined     ', 'userdefined     ', 'userdefined     ', &
     393             :                               'userdefined     ', 'userdefined     ', 'userdefined     ', 'userdefined     ', &
     394             :                               'userdefined     ', 'userdefined     ', 'userdefined     ', 'userdefined     ', &
     395             :                               'userdefined     ', 'userdefined     ', 'userdefined     ', 'userdefined     ', &
     396             :                               'userdefined     ', 'userdefined     ', 'userdefined     ', 'userdefined     ', &
     397             :                               'userdefined     ', 'userdefined     ', '                ', '                ', &
     398      141312 :                               '                ', '                ', '                ' /)
     399           0 :       pht_alias_mult(:,1) = (/ 1._r8, 1._r8, 1._r8, 1._r8, 1._r8, &
     400             :                           1._r8, 1._r8, 1._r8, 1._r8, 1._r8, &
     401             :                           1._r8, 1._r8, 1._r8, 1._r8, 1._r8, &
     402             :                           1._r8, 1._r8, 1._r8, 1._r8, 1._r8, &
     403             :                           1._r8, 1._r8, 1._r8, 1._r8, 1._r8, &
     404             :                           1._r8, 1._r8, 1._r8, 1._r8, 1._r8, &
     405             :                           1._r8, 1._r8, 1._r8, 1._r8, 1._r8, &
     406             :                           1._r8, 1._r8, 1._r8, 1._r8, 1._r8, &
     407             :                           1._r8, 1._r8, 1._r8, 1._r8, 1._r8, &
     408             :                           1._r8, 1._r8, 1._r8, 1._r8, 1._r8, &
     409             :                           1._r8, 1._r8, 1._r8, 1._r8, 1._r8, &
     410             :                           1._r8, 1._r8, 1._r8, 1._r8, 1._r8, &
     411             :                           1._r8, 1._r8, 1._r8, 1._r8, 1._r8, &
     412             :                           1._r8, 1._r8, 1._r8, 1._r8, 1._r8, &
     413             :                           1._r8, 1._r8, 1._r8, 1._r8, 1._r8, &
     414             :                           1._r8, 1._r8, 1._r8, 1._r8, 1._r8, &
     415             :                           1._r8, 1._r8, 1._r8, 1._r8, 1._r8, &
     416             :                           1._r8, 1._r8, 1._r8, 1._r8, 1._r8, &
     417      141312 :                           1._r8 /)
     418           0 :       pht_alias_mult(:,2) = (/ 1._r8, 1._r8, 1._r8, 1._r8, 1._r8, &
     419             :                           1._r8, 1._r8, 1._r8, 1._r8, 1._r8, &
     420             :                           1._r8, 1._r8, 1._r8, 1._r8, 1._r8, &
     421             :                           1._r8, 1._r8, 1._r8, 1._r8, 1._r8, &
     422             :                           1._r8, 1._r8, 1._r8, 1._r8, 1._r8, &
     423             :                           1._r8, 1._r8, 1._r8, 1._r8, 1._r8, &
     424             :                           1._r8, 1._r8, 1._r8, 1._r8, 1._r8, &
     425             :                           1._r8, 1._r8, 1._r8, 1._r8, 1._r8, &
     426             :                           1._r8, 1._r8, 1._r8, 1._r8, 1._r8, &
     427             :                           1._r8, 1._r8, 1._r8, 1._r8, 1._r8, &
     428             :                           1._r8, 1._r8, 1._r8, 1._r8, 1._r8, &
     429             :                           1._r8, 1._r8, 1._r8, 1._r8, 1._r8, &
     430             :                           1._r8, 1._r8, 1._r8, 1._r8, 1._r8, &
     431             :                           1._r8, 1._r8, 1._r8, 1._r8, 1._r8, &
     432             :                           1._r8, 1._r8, 1._r8, 1._r8, 1._r8, &
     433             :                           1._r8, 1._r8, 1._r8, 1._r8, 1._r8, &
     434             :                           1._r8, 1._r8, 1._r8, 1._r8, 1._r8, &
     435             :                           1._r8, 1._r8, 1._r8, 1._r8, 1._r8, &
     436      141312 :                           1._r8 /)
     437        1536 :       allocate( cph_enthalpy(enthalpy_cnt),stat=ios )
     438        1536 :       if( ios /= 0 ) then
     439           0 :          write(iulog,*) 'set_sim_dat: failed to allocate cph_enthalpy; error = ',ios
     440           0 :          call endrun
     441             :       end if
     442        1536 :       allocate( cph_rid(enthalpy_cnt),stat=ios )
     443        1536 :       if( ios /= 0 ) then
     444           0 :          write(iulog,*) 'set_sim_dat: failed to allocate cph_rid; error = ',ios
     445           0 :          call endrun
     446             :       end if
     447             :       cph_rid(:)      = (/              96,             97,             98,            100,            101, &
     448             :                                        102,            104,            105,            106,            107, &
     449             :                                        108,            109,            110,            113,            116, &
     450             :                                        117,            118,            119,            122,            123, &
     451             :                                        124,            127,            129,            130,            131, &
     452             :                                        135,            136,            144,            145,            285, &
     453             :                                        286,            287,            288,            289,            290, &
     454             :                                        291,            292,            294,            295,            296, &
     455             :                                        297,            299,            301,            302,            303, &
     456             :                                        304,            305,            306,            307,            308, &
     457       84480 :                                        309,            310,            311,            312 /)
     458             :       cph_enthalpy(:) = (/   189.810000_r8,   32.910000_r8,  189.810000_r8,   94.300000_r8,   94.300000_r8, &
     459             :                               94.300000_r8,   62.600000_r8,   62.600000_r8,   62.600000_r8,   62.600000_r8, &
     460             :                              392.190000_r8,  493.580000_r8,  101.390000_r8,  232.590000_r8,  203.400000_r8, &
     461             :                              226.580000_r8,  120.100000_r8,  194.710000_r8,  293.620000_r8,   67.670000_r8, &
     462             :                              165.300000_r8,  165.510000_r8,  229.610000_r8,  177.510000_r8,  313.750000_r8, &
     463             :                              133.750000_r8,  193.020000_r8,   34.470000_r8,  199.170000_r8,  483.390000_r8, &
     464             :                              321.300000_r8,  163.060000_r8,   82.389000_r8,  508.950000_r8,  354.830000_r8, &
     465             :                              339.590000_r8,   67.530000_r8,   95.550000_r8,  239.840000_r8,  646.280000_r8, &
     466             :                              406.160000_r8,  271.380000_r8,  105.040000_r8,  139.900000_r8,  150.110000_r8, &
     467             :                              319.370000_r8,  128.320000_r8,  319.360000_r8,  469.400000_r8,  163.060000_r8, &
     468       84480 :                              482.430000_r8,  291.380000_r8,   67.540000_r8,  501.720000_r8 /)
     469        1536 :       allocate( num_rnts(rxntot-phtcnt),stat=ios )
     470        1536 :       if( ios /= 0 ) then
     471           0 :          write(iulog,*) 'set_sim_dat: failed to allocate num_rnts; error = ',ios
     472           0 :          call endrun
     473             :       end if
     474             :       num_rnts(:) = (/      1,     1,     2,     2,     2,     2,     2,     2,     2,     2, &
     475             :                             2,     2,     2,     2,     2,     2,     2,     3,     3,     2, &
     476             :                             2,     2,     2,     2,     3,     2,     2,     2,     2,     2, &
     477             :                             2,     2,     2,     2,     3,     2,     2,     2,     2,     2, &
     478             :                             2,     2,     2,     2,     2,     2,     3,     2,     2,     2, &
     479             :                             2,     2,     2,     2,     3,     2,     2,     3,     3,     3, &
     480             :                             2,     2,     2,     2,     2,     2,     2,     2,     2,     2, &
     481             :                             2,     2,     2,     2,     2,     2,     2,     3,     2,     2, &
     482             :                             2,     2,     2,     2,     2,     2,     2,     2,     2,     2, &
     483             :                             2,     2,     2,     2,     2,     2,     2,     3,     2,     2, &
     484             :                             2,     2,     2,     2,     2,     2,     2,     2,     3,     2, &
     485             :                             2,     2,     2,     2,     2,     2,     2,     2,     2,     2, &
     486             :                             2,     2,     2,     2,     2,     2,     2,     2,     2,     2, &
     487             :                             2,     2,     2,     2,     2,     2,     2,     2,     2,     2, &
     488             :                             2,     2,     2,     2,     2,     2,     2,     2,     2,     2, &
     489             :                             3,     2,     2,     2,     2,     2,     2,     2,     2,     2, &
     490             :                             2,     2,     2,     2,     2,     2,     2,     2,     2,     2, &
     491             :                             2,     2,     1,     1,     1,     1,     1,     2,     1,     1, &
     492             :                             1,     1,     2,     2,     2,     1,     1,     2,     2,     2, &
     493             :                             1,     1,     2,     1,     1,     1,     2,     2,     2,     2, &
     494             :                             2,     2,     2,     2,     2,     2,     2,     2,     2,     2, &
     495             :                             2,     2,     2,     2,     2,     2,     2,     2,     2,     2, &
     496      340992 :                             2 /)
     497             : 
     498        1536 :       end subroutine set_sim_dat
     499             : 
     500             :       end module mo_sim_dat

Generated by: LCOV version 1.14