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: 2024-12-17 22:39:59 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     2978352 :       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     2978352 :       if( class == 1 ) then
      24  2315495520 :          prod(:,:,1) = 0._r8
      25             : !--------------------------------------------------------------------
      26             : ! ... "independent" production for Implicit species
      27             : !--------------------------------------------------------------------
      28     1489176 :       else if( class == 4 ) then
      29  2315495520 :          prod(:,:,1) = + extfrc(:,:,1)
      30  2315495520 :          prod(:,:,2) = + extfrc(:,:,2)
      31  2314006344 :          prod(:,:,3) = 0._r8
      32  2314006344 :          prod(:,:,4) = 0._r8
      33  2314006344 :          prod(:,:,5) = 0._r8
      34  2314006344 :          prod(:,:,6) = 0._r8
      35  2314006344 :          prod(:,:,7) = 0._r8
      36  2314006344 :          prod(:,:,8) = 0._r8
      37  2314006344 :          prod(:,:,9) = 0._r8
      38  2314006344 :          prod(:,:,10) =rxt(:,:,6)
      39  2314006344 :          prod(:,:,11) = 0._r8
      40  2314006344 :          prod(:,:,12) = 0._r8
      41  2314006344 :          prod(:,:,13) = 0._r8
      42  2314006344 :          prod(:,:,14) = 0._r8
      43  2314006344 :          prod(:,:,15) = 0._r8
      44  2314006344 :          prod(:,:,16) = + extfrc(:,:,4)
      45  2314006344 :          prod(:,:,17) = + extfrc(:,:,5)
      46  2314006344 :          prod(:,:,18) = 0._r8
      47  2314006344 :          prod(:,:,19) = + extfrc(:,:,6)
      48  2314006344 :          prod(:,:,20) = + extfrc(:,:,7)
      49  2314006344 :          prod(:,:,21) = + extfrc(:,:,8)
      50  2314006344 :          prod(:,:,22) = + extfrc(:,:,9)
      51  2314006344 :          prod(:,:,23) = + extfrc(:,:,10)
      52  2314006344 :          prod(:,:,24) = + extfrc(:,:,11)
      53  2314006344 :          prod(:,:,25) = 0._r8
      54  2314006344 :          prod(:,:,26) = 0._r8
      55  2314006344 :          prod(:,:,27) = 0._r8
      56  2314006344 :          prod(:,:,28) = 0._r8
      57  2314006344 :          prod(:,:,29) = 0._r8
      58  2314006344 :          prod(:,:,30) = + extfrc(:,:,3)
      59             :       end if
      60     2978352 :       end subroutine indprd
      61             :       end module mo_indprd

Generated by: LCOV version 1.14