  
 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/RELACS 
!     Species: ../Mechanism/ciRLCS 
!
!------------------------------------------------------------------------
!
!     -- 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,  4) =  rk(ijk,  1)
      dw(ijk,  2,  1) =  rk(ijk,  2)
      dw(ijk,  3,  1) =  rk(ijk,  3)
      dw(ijk,  4,  7) =  rk(ijk,  4)
      dw(ijk,  5,  8) =  rk(ijk,  5)
      dw(ijk,  6,  9) =  rk(ijk,  6)
      dw(ijk,  7,  5) =  rk(ijk,  7)
      dw(ijk,  8,  5) =  rk(ijk,  8)
      dw(ijk,  9,  2) =  rk(ijk,  9)
      dw(ijk, 10, 28) =  rk(ijk, 10)
      dw(ijk, 11, 28) =  rk(ijk, 11)
      dw(ijk, 12, 29) =  rk(ijk, 12)
      dw(ijk, 13, 34) =  rk(ijk, 13)
      dw(ijk, 14, 35) =  rk(ijk, 14)
      dw(ijk, 15, 30) =  rk(ijk, 15)
      dw(ijk, 16, 31) =  rk(ijk, 16)
      dw(ijk, 17, 32) =  rk(ijk, 17)
      dw(ijk, 18, 18) =  rk(ijk, 18)
      dw(ijk, 19, 18) =  rk(ijk, 19) * Y(ijk,  1)
      dw(ijk, 19,  1) =  rk(ijk, 19) * Y(ijk, 18)
      dw(ijk, 20, 19) =  rk(ijk, 20)
      dw(ijk, 21, 19) =  rk(ijk, 21)
      dw(ijk, 22, 19) =  rk(ijk, 22)
      dw(ijk, 23,  1) =  rk(ijk, 23) * Y(ijk, 20)
      dw(ijk, 23, 20) =  rk(ijk, 23) * Y(ijk,  1)
      dw(ijk, 24,  1) =  rk(ijk, 24) * Y(ijk, 21)
      dw(ijk, 24, 21) =  rk(ijk, 24) * Y(ijk,  1)
      dw(ijk, 25, 20) =  rk(ijk, 25) * Y(ijk, 21)
      dw(ijk, 25, 21) =  rk(ijk, 25) * Y(ijk, 20)
      dw(ijk, 26,  2) =  rk(ijk, 26) * Y(ijk, 20)
      dw(ijk, 26, 20) =  rk(ijk, 26) * Y(ijk,  2)
      dw(ijk, 27, 21) =  rk(ijk, 27) * Y(ijk, 21)
      dw(ijk, 27, 21) =  rk(ijk, 27) * Y(ijk, 21)
      dw(ijk, 28, 21) =  rk(ijk, 28) * Y(ijk, 21)
      dw(ijk, 28, 21) =  rk(ijk, 28) * Y(ijk, 21)
      dw(ijk, 29, 18) =  rk(ijk, 29) * Y(ijk,  3)
      dw(ijk, 29,  3) =  rk(ijk, 29) * Y(ijk, 18)
      dw(ijk, 30, 18) =  rk(ijk, 30) * Y(ijk,  4)
      dw(ijk, 30,  4) =  rk(ijk, 30) * Y(ijk, 18)
      dw(ijk, 31, 18) =  rk(ijk, 31) * Y(ijk,  4)
      dw(ijk, 31,  4) =  rk(ijk, 31) * Y(ijk, 18)
      dw(ijk, 32, 20) =  rk(ijk, 32) * Y(ijk,  3)
      dw(ijk, 32,  3) =  rk(ijk, 32) * Y(ijk, 20)
      dw(ijk, 33, 20) =  rk(ijk, 33) * Y(ijk,  4)
      dw(ijk, 33,  4) =  rk(ijk, 33) * Y(ijk, 20)
      dw(ijk, 34, 20) =  rk(ijk, 34) * Y(ijk,  5)
      dw(ijk, 34,  5) =  rk(ijk, 34) * Y(ijk, 20)
      dw(ijk, 35, 21) =  rk(ijk, 35) * Y(ijk,  3)
      dw(ijk, 35,  3) =  rk(ijk, 35) * Y(ijk, 21)
      dw(ijk, 36, 21) =  rk(ijk, 36) * Y(ijk,  4)
      dw(ijk, 36,  4) =  rk(ijk, 36) * Y(ijk, 21)
      dw(ijk, 37,  9) =  rk(ijk, 37)
      dw(ijk, 38, 21) =  rk(ijk, 38) * Y(ijk,  5)
      dw(ijk, 38,  5) =  rk(ijk, 38) * Y(ijk, 21)
      dw(ijk, 39, 20) =  rk(ijk, 39) * Y(ijk,  7)
      dw(ijk, 39,  7) =  rk(ijk, 39) * Y(ijk, 20)
      dw(ijk, 40, 20) =  rk(ijk, 40) * Y(ijk,  8)
      dw(ijk, 40,  8) =  rk(ijk, 40) * Y(ijk, 20)
      dw(ijk, 41, 20) =  rk(ijk, 41) * Y(ijk,  9)
      dw(ijk, 41,  9) =  rk(ijk, 41) * Y(ijk, 20)
      dw(ijk, 42,  1) =  rk(ijk, 42) * Y(ijk,  3)
      dw(ijk, 42,  3) =  rk(ijk, 42) * Y(ijk,  1)
      dw(ijk, 43,  1) =  rk(ijk, 43) * Y(ijk,  4)
      dw(ijk, 43,  4) =  rk(ijk, 43) * Y(ijk,  1)
      dw(ijk, 44,  3) =  rk(ijk, 44) * Y(ijk,  3)
      dw(ijk, 44,  3) =  rk(ijk, 44) * Y(ijk,  3)
      dw(ijk, 45,  5) =  rk(ijk, 45) * Y(ijk,  3)
      dw(ijk, 45,  3) =  rk(ijk, 45) * Y(ijk,  5)
      dw(ijk, 46,  5) =  rk(ijk, 46) * Y(ijk,  4)
      dw(ijk, 46,  4) =  rk(ijk, 46) * Y(ijk,  5)
      dw(ijk, 47,  5) =  rk(ijk, 47) * Y(ijk,  4)
      dw(ijk, 47,  4) =  rk(ijk, 47) * Y(ijk,  5)
      dw(ijk, 48,  6) =  rk(ijk, 48)
      dw(ijk, 49,  5) =  rk(ijk, 49) * Y(ijk,  5)
      dw(ijk, 49,  5) =  rk(ijk, 49) * Y(ijk,  5)
      dw(ijk, 50, 20) =  rk(ijk, 50)
      dw(ijk, 51, 20) =  rk(ijk, 51) * Y(ijk, 10)
      dw(ijk, 51, 10) =  rk(ijk, 51) * Y(ijk, 20)
      dw(ijk, 52, 12) =  rk(ijk, 52) * Y(ijk, 20)
      dw(ijk, 52, 20) =  rk(ijk, 52) * Y(ijk, 12)
      dw(ijk, 53, 26) =  rk(ijk, 53) * Y(ijk, 18)
      dw(ijk, 53, 18) =  rk(ijk, 53) * Y(ijk, 26)
      dw(ijk, 54, 31) =  rk(ijk, 54) * Y(ijk, 18)
      dw(ijk, 54, 18) =  rk(ijk, 54) * Y(ijk, 31)
      dw(ijk, 55, 22) =  rk(ijk, 55) * Y(ijk, 20)
      dw(ijk, 55, 20) =  rk(ijk, 55) * Y(ijk, 22)
      dw(ijk, 56, 23) =  rk(ijk, 56) * Y(ijk, 20)
      dw(ijk, 56, 20) =  rk(ijk, 56) * Y(ijk, 23)
      dw(ijk, 57, 24) =  rk(ijk, 57) * Y(ijk, 20)
      dw(ijk, 57, 20) =  rk(ijk, 57) * Y(ijk, 24)
      dw(ijk, 58, 25) =  rk(ijk, 58) * Y(ijk, 20)
      dw(ijk, 58, 20) =  rk(ijk, 58) * Y(ijk, 25)
      dw(ijk, 59, 26) =  rk(ijk, 59) * Y(ijk, 20)
      dw(ijk, 59, 20) =  rk(ijk, 59) * Y(ijk, 26)
      dw(ijk, 60, 27) =  rk(ijk, 60) * Y(ijk, 20)
      dw(ijk, 60, 20) =  rk(ijk, 60) * Y(ijk, 27)
      dw(ijk, 61, 28) =  rk(ijk, 61) * Y(ijk, 20)
      dw(ijk, 61, 20) =  rk(ijk, 61) * Y(ijk, 28)
      dw(ijk, 62, 29) =  rk(ijk, 62) * Y(ijk, 20)
      dw(ijk, 62, 20) =  rk(ijk, 62) * Y(ijk, 29)
      dw(ijk, 63, 30) =  rk(ijk, 63) * Y(ijk, 20)
      dw(ijk, 63, 20) =  rk(ijk, 63) * Y(ijk, 30)
      dw(ijk, 64, 31) =  rk(ijk, 64) * Y(ijk, 20)
      dw(ijk, 64, 20) =  rk(ijk, 64) * Y(ijk, 31)
      dw(ijk, 65, 34) =  rk(ijk, 65) * Y(ijk, 20)
      dw(ijk, 65, 20) =  rk(ijk, 65) * Y(ijk, 34)
      dw(ijk, 66, 35) =  rk(ijk, 66) * Y(ijk, 20)
      dw(ijk, 66, 20) =  rk(ijk, 66) * Y(ijk, 35)
      dw(ijk, 67, 33) =  rk(ijk, 67) * Y(ijk, 20)
      dw(ijk, 67, 20) =  rk(ijk, 67) * Y(ijk, 33)
      dw(ijk, 68, 32) =  rk(ijk, 68) * Y(ijk, 20)
      dw(ijk, 68, 20) =  rk(ijk, 68) * Y(ijk, 32)
      dw(ijk, 69, 28) =  rk(ijk, 69) * Y(ijk,  5)
      dw(ijk, 69,  5) =  rk(ijk, 69) * Y(ijk, 28)
      dw(ijk, 70, 29) =  rk(ijk, 70) * Y(ijk,  5)
      dw(ijk, 70,  5) =  rk(ijk, 70) * Y(ijk, 29)
      dw(ijk, 71, 31) =  rk(ijk, 71) * Y(ijk,  5)
      dw(ijk, 71,  5) =  rk(ijk, 71) * Y(ijk, 31)
      dw(ijk, 72, 27) =  rk(ijk, 72) * Y(ijk,  5)
      dw(ijk, 72,  5) =  rk(ijk, 72) * Y(ijk, 27)
      dw(ijk, 73, 25) =  rk(ijk, 73) * Y(ijk,  5)
      dw(ijk, 73,  5) =  rk(ijk, 73) * Y(ijk, 25)
      dw(ijk, 74, 26) =  rk(ijk, 74) * Y(ijk,  5)
      dw(ijk, 74,  5) =  rk(ijk, 74) * Y(ijk, 26)
      dw(ijk, 75, 33) =  rk(ijk, 75) * Y(ijk,  5)
      dw(ijk, 75,  5) =  rk(ijk, 75) * Y(ijk, 33)
      dw(ijk, 76, 25) =  rk(ijk, 76) * Y(ijk,  1)
      dw(ijk, 76,  1) =  rk(ijk, 76) * Y(ijk, 25)
      dw(ijk, 77, 26) =  rk(ijk, 77) * Y(ijk,  1)
      dw(ijk, 77,  1) =  rk(ijk, 77) * Y(ijk, 26)
      dw(ijk, 78, 31) =  rk(ijk, 78) * Y(ijk,  1)
      dw(ijk, 78,  1) =  rk(ijk, 78) * Y(ijk, 31)
      dw(ijk, 79, 33) =  rk(ijk, 79) * Y(ijk,  1)
      dw(ijk, 79,  1) =  rk(ijk, 79) * Y(ijk, 33)
      dw(ijk, 80, 42) =  rk(ijk, 80) * Y(ijk,  4)
      dw(ijk, 80,  4) =  rk(ijk, 80) * Y(ijk, 42)
      dw(ijk, 81, 42) =  rk(ijk, 81) * Y(ijk, 21)
      dw(ijk, 81, 21) =  rk(ijk, 81) * Y(ijk, 42)
      dw(ijk, 82, 43) =  rk(ijk, 82) * Y(ijk,  4)
      dw(ijk, 82,  4) =  rk(ijk, 82) * Y(ijk, 43)
      dw(ijk, 83, 43) =  rk(ijk, 83)
      dw(ijk, 84, 43) =  rk(ijk, 84) * Y(ijk,  1)
      dw(ijk, 84,  1) =  rk(ijk, 84) * Y(ijk, 43)
      dw(ijk, 85, 45) =  rk(ijk, 85) * Y(ijk,  4)
      dw(ijk, 85,  4) =  rk(ijk, 85) * Y(ijk, 45)
      dw(ijk, 86, 33) =  rk(ijk, 86)
      dw(ijk, 87, 38) =  rk(ijk, 87) * Y(ijk,  3)
      dw(ijk, 87,  3) =  rk(ijk, 87) * Y(ijk, 38)
      dw(ijk, 88, 39) =  rk(ijk, 88) * Y(ijk,  3)
      dw(ijk, 88,  3) =  rk(ijk, 88) * Y(ijk, 39)
      dw(ijk, 89, 40) =  rk(ijk, 89) * Y(ijk,  3)
      dw(ijk, 89,  3) =  rk(ijk, 89) * Y(ijk, 40)
      dw(ijk, 90, 41) =  rk(ijk, 90) * Y(ijk,  3)
      dw(ijk, 90,  3) =  rk(ijk, 90) * Y(ijk, 41)
      dw(ijk, 91, 44) =  rk(ijk, 91) * Y(ijk,  3)
      dw(ijk, 91,  3) =  rk(ijk, 91) * Y(ijk, 44)
      dw(ijk, 92, 45) =  rk(ijk, 92) * Y(ijk,  3)
      dw(ijk, 92,  3) =  rk(ijk, 92) * Y(ijk, 45)
      dw(ijk, 93, 46) =  rk(ijk, 93) * Y(ijk,  3)
      dw(ijk, 93,  3) =  rk(ijk, 93) * Y(ijk, 46)
      dw(ijk, 94, 38) =  rk(ijk, 94) * Y(ijk, 21)
      dw(ijk, 94, 21) =  rk(ijk, 94) * Y(ijk, 38)
      dw(ijk, 95, 39) =  rk(ijk, 95) * Y(ijk, 21)
      dw(ijk, 95, 21) =  rk(ijk, 95) * Y(ijk, 39)
      dw(ijk, 96, 40) =  rk(ijk, 96) * Y(ijk, 21)
      dw(ijk, 96, 21) =  rk(ijk, 96) * Y(ijk, 40)
      dw(ijk, 97, 41) =  rk(ijk, 97) * Y(ijk, 21)
      dw(ijk, 97, 21) =  rk(ijk, 97) * Y(ijk, 41)
      dw(ijk, 98, 44) =  rk(ijk, 98) * Y(ijk, 21)
      dw(ijk, 98, 21) =  rk(ijk, 98) * Y(ijk, 44)
      dw(ijk, 99, 45) =  rk(ijk, 99) * Y(ijk, 21)
      dw(ijk, 99, 21) =  rk(ijk, 99) * Y(ijk, 45)
      dw(ijk,100, 46) =  rk(ijk,100) * Y(ijk, 21)
      dw(ijk,100, 21) =  rk(ijk,100) * Y(ijk, 46)
      dw(ijk,101, 38) =  rk(ijk,101) * Y(ijk, 38)
      dw(ijk,101, 38) =  rk(ijk,101) * Y(ijk, 38)
      dw(ijk,102, 39) =  rk(ijk,102) * Y(ijk, 38)
      dw(ijk,102, 38) =  rk(ijk,102) * Y(ijk, 39)
      dw(ijk,103, 40) =  rk(ijk,103) * Y(ijk, 38)
      dw(ijk,103, 38) =  rk(ijk,103) * Y(ijk, 40)
      dw(ijk,104, 41) =  rk(ijk,104) * Y(ijk, 38)
      dw(ijk,104, 38) =  rk(ijk,104) * Y(ijk, 41)
      dw(ijk,105, 44) =  rk(ijk,105) * Y(ijk, 38)
      dw(ijk,105, 38) =  rk(ijk,105) * Y(ijk, 44)
      dw(ijk,106, 45) =  rk(ijk,106) * Y(ijk, 38)
      dw(ijk,106, 38) =  rk(ijk,106) * Y(ijk, 45)
      dw(ijk,107, 46) =  rk(ijk,107) * Y(ijk, 38)
      dw(ijk,107, 38) =  rk(ijk,107) * Y(ijk, 46)
      dw(ijk,108, 39) =  rk(ijk,108) * Y(ijk, 45)
      dw(ijk,108, 45) =  rk(ijk,108) * Y(ijk, 39)
      dw(ijk,109, 40) =  rk(ijk,109) * Y(ijk, 45)
      dw(ijk,109, 45) =  rk(ijk,109) * Y(ijk, 40)
      dw(ijk,110, 41) =  rk(ijk,110) * Y(ijk, 45)
      dw(ijk,110, 45) =  rk(ijk,110) * Y(ijk, 41)
      dw(ijk,111, 44) =  rk(ijk,111) * Y(ijk, 45)
      dw(ijk,111, 45) =  rk(ijk,111) * Y(ijk, 44)
      dw(ijk,112, 45) =  rk(ijk,112) * Y(ijk, 45)
      dw(ijk,112, 45) =  rk(ijk,112) * Y(ijk, 45)
      dw(ijk,113, 46) =  rk(ijk,113) * Y(ijk, 45)
      dw(ijk,113, 45) =  rk(ijk,113) * Y(ijk, 46)
      dw(ijk,114, 46) =  rk(ijk,114) * Y(ijk, 46)
      dw(ijk,114, 46) =  rk(ijk,114) * Y(ijk, 46)
      dw(ijk,115, 46) =  rk(ijk,115) * Y(ijk, 46)
      dw(ijk,115, 46) =  rk(ijk,115) * Y(ijk, 46)
      dw(ijk,116, 38) =  rk(ijk,116) * Y(ijk,  5)
      dw(ijk,116,  5) =  rk(ijk,116) * Y(ijk, 38)
      dw(ijk,117, 39) =  rk(ijk,117) * Y(ijk,  5)
      dw(ijk,117,  5) =  rk(ijk,117) * Y(ijk, 39)
      dw(ijk,118, 40) =  rk(ijk,118) * Y(ijk,  5)
      dw(ijk,118,  5) =  rk(ijk,118) * Y(ijk, 40)
      dw(ijk,119, 41) =  rk(ijk,119) * Y(ijk,  5)
      dw(ijk,119,  5) =  rk(ijk,119) * Y(ijk, 41)
      dw(ijk,120, 44) =  rk(ijk,120) * Y(ijk,  5)
      dw(ijk,120,  5) =  rk(ijk,120) * Y(ijk, 44)
      dw(ijk,121, 45) =  rk(ijk,121) * Y(ijk,  5)
      dw(ijk,121,  5) =  rk(ijk,121) * Y(ijk, 45)
      dw(ijk,122, 46) =  rk(ijk,122) * Y(ijk,  5)
      dw(ijk,122,  5) =  rk(ijk,122) * Y(ijk, 46)
      dw(ijk,123, 47) =  rk(ijk,123) * Y(ijk, 21)
      dw(ijk,123, 21) =  rk(ijk,123) * Y(ijk, 47)
      dw(ijk,124, 47) =  rk(ijk,124) * Y(ijk, 38)
      dw(ijk,124, 38) =  rk(ijk,124) * Y(ijk, 47)
      dw(ijk,125, 47) =  rk(ijk,125) * Y(ijk, 45)
      dw(ijk,125, 45) =  rk(ijk,125) * Y(ijk, 47)
      dw(ijk,126, 47) =  rk(ijk,126) * Y(ijk, 47)
      dw(ijk,126, 47) =  rk(ijk,126) * Y(ijk, 47)
      dw(ijk,127, 47) =  rk(ijk,127) * Y(ijk,  3)
      dw(ijk,127,  3) =  rk(ijk,127) * Y(ijk, 47)
      dw(ijk,128, 47) =  rk(ijk,128) * Y(ijk,  5)
      dw(ijk,128,  5) =  rk(ijk,128) * Y(ijk, 47)
       END DO
 
   END SUBROUTINE dratedc
 
  END MODULE mod_chem_spack_dratedc
 
