LCOV - code coverage report
Current view: top level - chemistry/pp_ghg_mam4 - mo_indprd.F90 (source / functions) Hit Total Coverage
Test: coverage.info Lines: 35 35 100.0 %
Date: 2025-03-13 19:18:33 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      179568 :       subroutine indprd( class, prod, nprod, y, extfrc, rxt, ncol )
       7             :       use chem_mods, only : gas_pcnst, extcnt, rxntot
       8             :       use ppgrid, only : pver
       9             :       implicit none
      10             : !--------------------------------------------------------------------
      11             : ! ... dummy arguments
      12             : !--------------------------------------------------------------------
      13             :       integer, intent(in) :: class
      14             :       integer, intent(in) :: ncol
      15             :       integer, intent(in) :: nprod
      16             :       real(r8), intent(in) :: y(ncol,pver,gas_pcnst)
      17             :       real(r8), intent(in) :: rxt(ncol,pver,rxntot)
      18             :       real(r8), intent(in) :: extfrc(ncol,pver,extcnt)
      19             :       real(r8), intent(inout) :: prod(ncol,pver,nprod)
      20             : !--------------------------------------------------------------------
      21             : ! ... "independent" production for Explicit species
      22             : !--------------------------------------------------------------------
      23      179568 :       if( class == 1 ) then
      24   139603680 :          prod(:,:,1) = 0._r8
      25             : !--------------------------------------------------------------------
      26             : ! ... "independent" production for Implicit species
      27             : !--------------------------------------------------------------------
      28       89784 :       else if( class == 4 ) then
      29   139603680 :          prod(:,:,1) = + extfrc(:,:,1)
      30   139603680 :          prod(:,:,2) = + extfrc(:,:,2)
      31   139513896 :          prod(:,:,3) = 0._r8
      32   139513896 :          prod(:,:,4) = 0._r8
      33   139513896 :          prod(:,:,5) = 0._r8
      34   139513896 :          prod(:,:,6) = 0._r8
      35   139513896 :          prod(:,:,7) = 0._r8
      36   139513896 :          prod(:,:,8) = 0._r8
      37   139513896 :          prod(:,:,9) = 0._r8
      38   139513896 :          prod(:,:,10) =rxt(:,:,6)
      39   139513896 :          prod(:,:,11) = 0._r8
      40   139513896 :          prod(:,:,12) = 0._r8
      41   139513896 :          prod(:,:,13) = 0._r8
      42   139513896 :          prod(:,:,14) = 0._r8
      43   139513896 :          prod(:,:,15) = 0._r8
      44   139513896 :          prod(:,:,16) = + extfrc(:,:,4)
      45   139513896 :          prod(:,:,17) = + extfrc(:,:,5)
      46   139513896 :          prod(:,:,18) = 0._r8
      47   139513896 :          prod(:,:,19) = + extfrc(:,:,6)
      48   139513896 :          prod(:,:,20) = + extfrc(:,:,7)
      49   139513896 :          prod(:,:,21) = + extfrc(:,:,8)
      50   139513896 :          prod(:,:,22) = + extfrc(:,:,9)
      51   139513896 :          prod(:,:,23) = + extfrc(:,:,10)
      52   139513896 :          prod(:,:,24) = + extfrc(:,:,11)
      53   139513896 :          prod(:,:,25) = 0._r8
      54   139513896 :          prod(:,:,26) = 0._r8
      55   139513896 :          prod(:,:,27) = 0._r8
      56   139513896 :          prod(:,:,28) = 0._r8
      57   139513896 :          prod(:,:,29) = 0._r8
      58   139513896 :          prod(:,:,30) = + extfrc(:,:,3)
      59             :       end if
      60      179568 :       end subroutine indprd
      61             :       end module mo_indprd

Generated by: LCOV version 1.14