LCOV - code coverage report
Current view: top level - chemistry/pp_trop_strat_mam5_ts2 - mo_indprd.F90 (source / functions) Hit Total Coverage
Test: coverage.info Lines: 323 324 99.7 %
Date: 2025-03-14 01:18:36 Functions: 1 1 100.0 %

          Line data    Source code
       1             :       module mo_indprd
       2             :       use shr_kind_mod, only : r8 => shr_kind_r8
       3             :       private
       4             :       public :: indprd
       5             :       contains
       6      145920 :       subroutine indprd( class, prod, nprod, y, extfrc, rxt, chnkpnts )
       7             :       use chem_mods, only : gas_pcnst, extcnt, rxntot
       8             :       implicit none
       9             : !--------------------------------------------------------------------
      10             : ! ... dummy arguments
      11             : !--------------------------------------------------------------------
      12             :       integer, intent(in) :: class
      13             :       integer, intent(in) :: chnkpnts
      14             :       integer, intent(in) :: nprod
      15             :       real(r8), intent(in) :: y(chnkpnts,gas_pcnst)
      16             :       real(r8), intent(in) :: rxt(chnkpnts,rxntot)
      17             :       real(r8), intent(in) :: extfrc(chnkpnts,extcnt)
      18             :       real(r8), intent(inout) :: prod(chnkpnts,nprod)
      19             : !--------------------------------------------------------------------
      20             : ! ... "independent" production for Explicit species
      21             : !--------------------------------------------------------------------
      22      145920 :       if( class == 1 ) then
      23    58980864 :          prod(:,1) =rxt(:,810)*y(:,295)*y(:,143) +rxt(:,829)*y(:,144)
      24           0 :          prod(:,2) = (rxt(:,557)*y(:,254) +rxt(:,560)*y(:,285) +rxt(:,563)*y(:,287) + &
      25    58907904 :                  rxt(:,567)*y(:,165))*y(:,148)
      26             : !--------------------------------------------------------------------
      27             : ! ... "independent" production for Implicit species
      28             : !--------------------------------------------------------------------
      29       72960 :       else if( class == 4 ) then
      30    58907904 :          prod(:,168) = 0._r8
      31    58907904 :          prod(:,165) = 0._r8
      32    58980864 :          prod(:,1) = 0._r8
      33    58907904 :          prod(:,219) = 0._r8
      34    58907904 :          prod(:,2) = 0._r8
      35    58980864 :          prod(:,3) = + extfrc(:,3)
      36    58907904 :          prod(:,199) = 0._r8
      37    58907904 :          prod(:,76) = 0._r8
      38    58907904 :          prod(:,124) = 0._r8
      39    58907904 :          prod(:,77) = 0._r8
      40    58907904 :          prod(:,132) = 0._r8
      41    58907904 :          prod(:,103) = 0._r8
      42    58907904 :          prod(:,121) = 0._r8
      43    58907904 :          prod(:,110) = 0._r8
      44    58907904 :          prod(:,81) = 0._r8
      45    58907904 :          prod(:,118) = 0._r8
      46    58907904 :          prod(:,202) = 0._r8
      47    58907904 :          prod(:,276) = 0._r8
      48    58907904 :          prod(:,88) = 0._r8
      49    58907904 :          prod(:,309) = 0._r8
      50    58907904 :          prod(:,146) = 0._r8
      51    58907904 :          prod(:,4) = 0._r8
      52    58907904 :          prod(:,89) = 0._r8
      53    58907904 :          prod(:,113) = 0._r8
      54    58907904 :          prod(:,105) = 0._r8
      55    58907904 :          prod(:,149) = 0._r8
      56    58907904 :          prod(:,99) = 0._r8
      57    58907904 :          prod(:,114) = 0._r8
      58    58907904 :          prod(:,106) = 0._r8
      59    58907904 :          prod(:,228) = 0._r8
      60    58907904 :          prod(:,123) = 0._r8
      61    58907904 :          prod(:,63) = 0._r8
      62    58907904 :          prod(:,100) = 0._r8
      63    58907904 :          prod(:,60) = 0._r8
      64    58907904 :          prod(:,71) = 0._r8
      65    58907904 :          prod(:,72) = 0._r8
      66    58907904 :          prod(:,64) = 0._r8
      67    58907904 :          prod(:,73) = 0._r8
      68    58907904 :          prod(:,65) = 0._r8
      69    58907904 :          prod(:,74) = 0._r8
      70    58907904 :          prod(:,66) = 0._r8
      71    58907904 :          prod(:,137) = 0._r8
      72    58907904 :          prod(:,306) = 0._r8
      73    58907904 :          prod(:,156) = 0._r8
      74    58907904 :          prod(:,67) = 0._r8
      75    58907904 :          prod(:,230) = 0._r8
      76    58907904 :          prod(:,120) = 0._r8
      77    58907904 :          prod(:,61) = 0._r8
      78    58907904 :          prod(:,280) = 0._r8
      79    58907904 :          prod(:,266) = 0._r8
      80    58907904 :          prod(:,173) = 0._r8
      81    58907904 :          prod(:,163) = 0._r8
      82    58907904 :          prod(:,238) = 0._r8
      83    58907904 :          prod(:,129) = 0._r8
      84    58907904 :          prod(:,279) = 0._r8
      85    58907904 :          prod(:,131) = 0._r8
      86    58907904 :          prod(:,315) = 0._r8
      87    58907904 :          prod(:,75) = 0._r8
      88    58907904 :          prod(:,58) = 0._r8
      89    58907904 :          prod(:,310) = 0._r8
      90    58907904 :          prod(:,223) = 0._r8
      91    58907904 :          prod(:,5) = 0._r8
      92    58907904 :          prod(:,271) = + extfrc(:,10)
      93    58907904 :          prod(:,247) = 0._r8
      94    58907904 :          prod(:,90) = 0._r8
      95    58907904 :          prod(:,92) = 0._r8
      96    58907904 :          prod(:,84) = 0._r8
      97    58907904 :          prod(:,155) = 0._r8
      98    58907904 :          prod(:,104) = 0._r8
      99    58907904 :          prod(:,6) = 0._r8
     100    58907904 :          prod(:,7) = 0._r8
     101    58907904 :          prod(:,8) = 0._r8
     102    58907904 :          prod(:,9) = 0._r8
     103    58907904 :          prod(:,68) = 0._r8
     104    58907904 :          prod(:,217) = 0._r8
     105    58907904 :          prod(:,254) = 0._r8
     106    58907904 :          prod(:,235) = 0._r8
     107    58907904 :          prod(:,301) = 0._r8
     108    58907904 :          prod(:,251) = 0._r8
     109    58907904 :          prod(:,62) = 0._r8
     110    58907904 :          prod(:,237) = 0._r8
     111    58907904 :          prod(:,69) = 0._r8
     112    58907904 :          prod(:,208) = 0._r8
     113    58907904 :          prod(:,91) = 0._r8
     114    58907904 :          prod(:,93) = 0._r8
     115    58907904 :          prod(:,108) = 0._r8
     116    58907904 :          prod(:,304) = 0._r8
     117    58907904 :          prod(:,79) = 0._r8
     118    58907904 :          prod(:,182) = 0._r8
     119    58907904 :          prod(:,227) = 0._r8
     120    58907904 :          prod(:,107) = 0._r8
     121    58907904 :          prod(:,213) = 0._r8
     122    58907904 :          prod(:,302) = 0._r8
     123    58907904 :          prod(:,128) = 0._r8
     124    58907904 :          prod(:,195) = 0._r8
     125    58907904 :          prod(:,209) = 0._r8
     126    58907904 :          prod(:,193) = 0._r8
     127    58907904 :          prod(:,153) = 0._r8
     128    58907904 :          prod(:,154) = 0._r8
     129    58907904 :          prod(:,136) = 0._r8
     130    58907904 :          prod(:,140) = 0._r8
     131    58907904 :          prod(:,258) = 0._r8
     132    58907904 :          prod(:,263) = 0._r8
     133    58907904 :          prod(:,187) = 0._r8
     134    58907904 :          prod(:,185) = 0._r8
     135    58907904 :          prod(:,241) = 0._r8
     136    58907904 :          prod(:,138) = 0._r8
     137    58907904 :          prod(:,218) = 0._r8
     138    58907904 :          prod(:,229) = 0._r8
     139    58907904 :          prod(:,250) = 0._r8
     140    58907904 :          prod(:,204) = 0._r8
     141    58907904 :          prod(:,260) = 0._r8
     142    58907904 :          prod(:,234) = 0._r8
     143    58907904 :          prod(:,170) = 0._r8
     144    58907904 :          prod(:,272) = 0._r8
     145    58907904 :          prod(:,159) = 0._r8
     146    58907904 :          prod(:,150) = 0._r8
     147    58907904 :          prod(:,273) = 0._r8
     148    58907904 :          prod(:,166) = 0._r8
     149    58907904 :          prod(:,212) = 0._r8
     150    58907904 :          prod(:,245) = 0._r8
     151    58907904 :          prod(:,186) = 0._r8
     152    58907904 :          prod(:,264) = 0._r8
     153    58907904 :          prod(:,53) = 0._r8
     154    58907904 :          prod(:,201) = 0._r8
     155    58907904 :          prod(:,269) = 0._r8
     156    58907904 :          prod(:,259) = 0._r8
     157    58907904 :          prod(:,233) = 0._r8
     158    58907904 :          prod(:,145) = 0._r8
     159    58907904 :          prod(:,109) = 0._r8
     160    58907904 :          prod(:,141) = 0._r8
     161    58907904 :          prod(:,270) = 0._r8
     162    58907904 :          prod(:,265) = 0._r8
     163    58907904 :          prod(:,239) = 0._r8
     164    58907904 :          prod(:,177) = 0._r8
     165    58907904 :          prod(:,134) = + extfrc(:,15)
     166    58907904 :          prod(:,80) = 0._r8
     167    58907904 :          prod(:,102) = 0._r8
     168    58907904 :          prod(:,274) = 0._r8
     169    58980864 :          prod(:,10) = 0._r8
     170    58907904 :          prod(:,11) = 0._r8
     171    58907904 :          prod(:,12) = 0._r8
     172    58907904 :          prod(:,59) = 0._r8
     173    58907904 :          prod(:,13) = 0._r8
     174    58907904 :          prod(:,14) = 0._r8
     175    58980864 :          prod(:,15) = 0._r8
     176    58907904 :          prod(:,303) = + extfrc(:,14)
     177    58907904 :          prod(:,312) = + extfrc(:,6)
     178    58907904 :          prod(:,311) = 0._r8
     179    58907904 :          prod(:,232) = 0._r8
     180    58907904 :          prod(:,236) = 0._r8
     181    58907904 :          prod(:,16) = + extfrc(:,11)
     182    58907904 :          prod(:,17) = + extfrc(:,12)
     183    58907904 :          prod(:,18) = 0._r8
     184    58907904 :          prod(:,19) = + extfrc(:,1)
     185    58907904 :          prod(:,20) = + extfrc(:,13)
     186    58907904 :          prod(:,305) = (rxt(:,5) +2.000_r8*rxt(:,6))
     187    58907904 :          prod(:,313) = 0._r8
     188    58907904 :          prod(:,21) = 0._r8
     189    58907904 :          prod(:,111) = 0._r8
     190    58907904 :          prod(:,119) = 0._r8
     191    58907904 :          prod(:,82) = 0._r8
     192    58907904 :          prod(:,147) = 0._r8
     193    58907904 :          prod(:,70) = 0._r8
     194    58907904 :          prod(:,135) = 0._r8
     195    58907904 :          prod(:,78) = 0._r8
     196    58907904 :          prod(:,112) = 0._r8
     197    58907904 :          prod(:,22) = 0._r8
     198    58907904 :          prod(:,23) = + extfrc(:,2)
     199    58907904 :          prod(:,148) = 0._r8
     200    58907904 :          prod(:,122) = 0._r8
     201    58907904 :          prod(:,143) = 0._r8
     202    58907904 :          prod(:,24) = 0._r8
     203    58907904 :          prod(:,246) = 0._r8
     204    58907904 :          prod(:,216) = + extfrc(:,5)
     205    58907904 :          prod(:,98) = 0._r8
     206    58907904 :          prod(:,25) = + extfrc(:,7)
     207    58907904 :          prod(:,26) = + extfrc(:,8)
     208    58907904 :          prod(:,27) = 0._r8
     209    58907904 :          prod(:,28) = + extfrc(:,9)
     210    58907904 :          prod(:,29) = 0._r8
     211    58907904 :          prod(:,30) = 0._r8
     212    58907904 :          prod(:,31) = 0._r8
     213    58907904 :          prod(:,32) = 0._r8
     214    58907904 :          prod(:,33) = 0._r8
     215    58907904 :          prod(:,34) = 0._r8
     216    58907904 :          prod(:,35) = 0._r8
     217    58907904 :          prod(:,36) = 0._r8
     218    58907904 :          prod(:,37) = 0._r8
     219    58907904 :          prod(:,38) = 0._r8
     220    58907904 :          prod(:,39) = 0._r8
     221    58907904 :          prod(:,40) = 0._r8
     222    58907904 :          prod(:,41) = 0._r8
     223    58907904 :          prod(:,42) = 0._r8
     224    58907904 :          prod(:,43) = 0._r8
     225    58907904 :          prod(:,44) = 0._r8
     226    58907904 :          prod(:,45) = 0._r8
     227    58907904 :          prod(:,46) = + extfrc(:,4)
     228    58907904 :          prod(:,85) = 0._r8
     229    58907904 :          prod(:,282) = 0._r8
     230    58907904 :          prod(:,133) = 0._r8
     231    58907904 :          prod(:,284) = 0._r8
     232    58907904 :          prod(:,220) = 0._r8
     233    58907904 :          prod(:,157) = 0._r8
     234    58907904 :          prod(:,255) = 0._r8
     235    58907904 :          prod(:,158) = 0._r8
     236    58907904 :          prod(:,171) = 0._r8
     237    58907904 :          prod(:,115) = 0._r8
     238    58907904 :          prod(:,116) = 0._r8
     239    58907904 :          prod(:,125) = 0._r8
     240    58907904 :          prod(:,117) = 0._r8
     241    58907904 :          prod(:,293) = 0._r8
     242    58907904 :          prod(:,292) = 0._r8
     243    58907904 :          prod(:,215) = 0._r8
     244    58907904 :          prod(:,192) = 0._r8
     245    58907904 :          prod(:,203) = 0._r8
     246    58907904 :          prod(:,194) = 0._r8
     247    58907904 :          prod(:,160) = 0._r8
     248    58907904 :          prod(:,207) = 0._r8
     249    58907904 :          prod(:,172) = 0._r8
     250    58907904 :          prod(:,244) = 0._r8
     251    58907904 :          prod(:,252) = 0._r8
     252    58907904 :          prod(:,242) = 0._r8
     253    58907904 :          prod(:,253) = 0._r8
     254    58907904 :          prod(:,161) = 0._r8
     255    58907904 :          prod(:,151) = 0._r8
     256    58907904 :          prod(:,167) = 0._r8
     257    58907904 :          prod(:,83) = 0._r8
     258    58907904 :          prod(:,86) = 0._r8
     259    58907904 :          prod(:,178) = 0._r8
     260    58907904 :          prod(:,87) = 0._r8
     261    58907904 :          prod(:,126) = 0._r8
     262    58907904 :          prod(:,144) = 0._r8
     263    58907904 :          prod(:,211) = 0._r8
     264    58907904 :          prod(:,281) = 0._r8
     265    58907904 :          prod(:,287) = 0._r8
     266    58907904 :          prod(:,47) = 0._r8
     267    58907904 :          prod(:,277) = 0._r8
     268    58907904 :          prod(:,286) = 0._r8
     269    58907904 :          prod(:,48) = 0._r8
     270    58907904 :          prod(:,139) = 0._r8
     271    58907904 :          prod(:,49) = 0._r8
     272    58907904 :          prod(:,290) = 0._r8
     273    58907904 :          prod(:,285) = 0._r8
     274    58907904 :          prod(:,50) = 0._r8
     275    58907904 :          prod(:,127) = 0._r8
     276    58907904 :          prod(:,225) = 0._r8
     277    58907904 :          prod(:,198) = 0._r8
     278    58907904 :          prod(:,164) = 0._r8
     279    58907904 :          prod(:,300) = 0._r8
     280    58907904 :          prod(:,308) = 0._r8
     281    58907904 :          prod(:,184) = 0._r8
     282    58907904 :          prod(:,152) = 0._r8
     283    58907904 :          prod(:,101) = 0._r8
     284    58907904 :          prod(:,179) = 0._r8
     285    58907904 :          prod(:,307) = 0._r8
     286    58907904 :          prod(:,162) = 0._r8
     287    58907904 :          prod(:,221) = 0._r8
     288    58907904 :          prod(:,267) = 0._r8
     289    58907904 :          prod(:,268) = 0._r8
     290    58907904 :          prod(:,94) = 0._r8
     291    58907904 :          prod(:,95) = 0._r8
     292    58907904 :          prod(:,96) = 0._r8
     293    58907904 :          prod(:,97) = 0._r8
     294    58907904 :          prod(:,256) = 0._r8
     295    58907904 :          prod(:,257) = 0._r8
     296    58907904 :          prod(:,205) = 0._r8
     297    58907904 :          prod(:,210) = 0._r8
     298    58907904 :          prod(:,200) = 0._r8
     299    58907904 :          prod(:,206) = 0._r8
     300    58907904 :          prod(:,231) = 0._r8
     301    58907904 :          prod(:,275) = 0._r8
     302    58907904 :          prod(:,222) = 0._r8
     303    58907904 :          prod(:,226) = 0._r8
     304    58907904 :          prod(:,51) = 0._r8
     305    58907904 :          prod(:,262) = 0._r8
     306    58907904 :          prod(:,261) = 0._r8
     307    58907904 :          prod(:,52) = 0._r8
     308    58907904 :          prod(:,289) = 0._r8
     309    58907904 :          prod(:,283) = 0._r8
     310    58907904 :          prod(:,54) = 0._r8
     311    58907904 :          prod(:,243) = 0._r8
     312    58907904 :          prod(:,180) = 0._r8
     313    58907904 :          prod(:,248) = 0._r8
     314    58907904 :          prod(:,188) = 0._r8
     315    58907904 :          prod(:,169) = 0._r8
     316    58907904 :          prod(:,240) = 0._r8
     317    58907904 :          prod(:,291) = 0._r8
     318    58907904 :          prod(:,288) = 0._r8
     319    58907904 :          prod(:,55) = 0._r8
     320    58907904 :          prod(:,249) = 0._r8
     321    58907904 :          prod(:,314) =rxt(:,5)
     322    58907904 :          prod(:,316) = + extfrc(:,16)
     323    58907904 :          prod(:,130) = 0._r8
     324    58907904 :          prod(:,189) = 0._r8
     325    58907904 :          prod(:,224) = 0._r8
     326    58907904 :          prod(:,190) = 0._r8
     327    58907904 :          prod(:,196) = 0._r8
     328    58907904 :          prod(:,294) = 0._r8
     329    58907904 :          prod(:,297) = 0._r8
     330    58907904 :          prod(:,296) = 0._r8
     331    58907904 :          prod(:,298) = 0._r8
     332    58907904 :          prod(:,278) = 0._r8
     333    58907904 :          prod(:,295) = 0._r8
     334    58907904 :          prod(:,299) = 0._r8
     335    58907904 :          prod(:,174) = 0._r8
     336    58907904 :          prod(:,191) = 0._r8
     337    58907904 :          prod(:,214) = 0._r8
     338    58907904 :          prod(:,197) = 0._r8
     339    58907904 :          prod(:,175) = 0._r8
     340    58907904 :          prod(:,176) = 0._r8
     341    58907904 :          prod(:,181) = 0._r8
     342    58907904 :          prod(:,56) = 0._r8
     343    58907904 :          prod(:,183) = 0._r8
     344    58907904 :          prod(:,57) = 0._r8
     345    58907904 :          prod(:,142) = 0._r8
     346    58907904 :          prod(:,317) = 0._r8
     347             :       end if
     348      145920 :       end subroutine indprd
     349             :       end module mo_indprd

Generated by: LCOV version 1.14