  
 MODULE mod_chem_spack_dratedc
  
   IMPLICIT NONE
   PRIVATE
   PUBLIC :: dratedc ! subroutine
 CONTAINS
  
   SUBROUTINE dratedc(rk,y,dw,ngas,ijkbeg,ijkend,maxblock_size,nr)
 
!------------------------------------------------------------------------
!
!     -- DESCRIPTION
!
!     This routine computes the derivative of reaction  rates.
!     This routine is automatically generated by SPACK.
!     Mechanism: ../Mechanism/CB07   
!     Species: ../Mechanism/ciCB07 
!
!------------------------------------------------------------------------
!
!     -- INPUT VARIABLES
!
!     RK: kinetic rates.
!     Y: chemical concentrations.
!
!     -- INPUT/OUTPUT VARIABLES
!
!     -- OUTPUT VARIABLES
!
!     DW: derivative of reaction rates wrt Y.
!
!------------------------------------------------------------------------
!
!     -- REMARKS
!
!------------------------------------------------------------------------
!
!     -- MODIFICATIONS
!
!------------------------------------------------------------------------
!
!     -- AUTHOR(S)
!
!     SPACK.
!
!------------------------------------------------------------------------
 
      IMPLICIT NONE
 
 
 
     INTEGER	       , INTENT(IN)  :: ngas                      
     INTEGER	       , INTENT(IN)  :: ijkbeg			  
     INTEGER	       , INTENT(IN)  :: ijkend			  
     INTEGER	       , INTENT(IN)  :: maxblock_size		  
     INTEGER	       , INTENT(IN)  :: nr			  
     DOUBLE PRECISION , INTENT(IN)  :: rk(maxblock_size,nr)	  
     DOUBLE PRECISION , INTENT(IN)  :: y(maxblock_size,NGAS) 	  
     DOUBLE PRECISION , INTENT(OUT) :: dw(maxblock_size,nr,NGAS) 
     INTEGER :: ijk						  
 
     DO ijk=ijkbeg,ijkend
  
  
      dw(ijk,  1,  1) =  rk(ijk,  1)
      dw(ijk,  2,  4) =  rk(ijk,  2)
      dw(ijk,  3,  4) =  rk(ijk,  3)
      dw(ijk,  7,  5) =  rk(ijk,  7)
      dw(ijk,  8,  5) =  rk(ijk,  8)
      dw(ijk, 16,  3) =  rk(ijk, 16)
      dw(ijk, 17,  3) =  rk(ijk, 17) * Y(ijk,  4)
      dw(ijk, 17,  4) =  rk(ijk, 17) * Y(ijk,  3)
      dw(ijk, 18,  6) =  rk(ijk, 18)
      dw(ijk, 19,  6) =  rk(ijk, 19)
      dw(ijk, 20,  6) =  rk(ijk, 20)
      dw(ijk, 27,  3) =  rk(ijk, 27) * Y(ijk,  2)
      dw(ijk, 27,  2) =  rk(ijk, 27) * Y(ijk,  3)
      dw(ijk, 28,  3) =  rk(ijk, 28) * Y(ijk,  1)
      dw(ijk, 28,  1) =  rk(ijk, 28) * Y(ijk,  3)
      dw(ijk, 29,  3) =  rk(ijk, 29) * Y(ijk,  1)
      dw(ijk, 29,  1) =  rk(ijk, 29) * Y(ijk,  3)
      dw(ijk, 40,  4) =  rk(ijk, 40) * Y(ijk,  2)
      dw(ijk, 40,  2) =  rk(ijk, 40) * Y(ijk,  4)
      dw(ijk, 41,  4) =  rk(ijk, 41) * Y(ijk,  1)
      dw(ijk, 41,  1) =  rk(ijk, 41) * Y(ijk,  4)
      dw(ijk, 42,  2) =  rk(ijk, 42) * Y(ijk,  2)
      dw(ijk, 42,  2) =  rk(ijk, 42) * Y(ijk,  2)
      dw(ijk, 43,  2) =  rk(ijk, 43) * Y(ijk,  1)
      dw(ijk, 43,  1) =  rk(ijk, 43) * Y(ijk,  2)
      dw(ijk, 45,  5) =  rk(ijk, 45) * Y(ijk,  2)
      dw(ijk, 45,  2) =  rk(ijk, 45) * Y(ijk,  5)
      dw(ijk, 46,  5) =  rk(ijk, 46) * Y(ijk,  1)
      dw(ijk, 46,  1) =  rk(ijk, 46) * Y(ijk,  5)
      dw(ijk, 47,  5) =  rk(ijk, 47) * Y(ijk,  1)
      dw(ijk, 47,  1) =  rk(ijk, 47) * Y(ijk,  5)
      dw(ijk, 51,  5) =  rk(ijk, 51) * Y(ijk,  5)
      dw(ijk, 51,  5) =  rk(ijk, 51) * Y(ijk,  5)
       END DO
 
   END SUBROUTINE dratedc
 
  END MODULE mod_chem_spack_dratedc
 
