                                                                                
 MODULE mod_chem_spack_fexloss                                                  
                                                                                
   IMPLICIT NONE                                                                
   PRIVATE                                                                      
   PUBLIC :: fexloss ! subroutine                                               
 CONTAINS                                                                       
                                                                                
   SUBROUTINE fexloss(dw,loss,ngas,ijkbegin,ijkend,maxblock_size,nr)            
                                                                                
!------------------------------------------------------------------------       
!                                                                               
!     -- DESCRIPTION                                                            
!                                                                               
!     This routine computes the chemical loss  term L in a P-Lc formulation.    
!     This routine is automatically generated by SPACK.                         
!     Mechanism: ../Mechanism/RACM                                              
!     Species: ../Mechanism/ciRA77                                              
!                                                                               
!------------------------------------------------------------------------       
!                                                                               
!     -- INPUT VARIABLES                                                        
!                                                                               
!     DW: derivative of reaction rates wrt Y.                                   
!                                                                               
!     -- INPUT/OUTPUT VARIABLES                                                 
!                                                                               
!     -- OUTPUT VARIABLES                                                       
!                                                                               
!     LOSS: array of chemical loss terms.                                       
!                                                                               
!------------------------------------------------------------------------       
!                                                                               
!     -- REMARKS                                                                
!                                                                               
!------------------------------------------------------------------------       
!                                                                               
!     -- MODIFICATIONS                                                          
!                                                                               
!------------------------------------------------------------------------       
!                                                                               
!     -- AUTHOR(S)                                                              
!                                                                               
!     SPACK.                                                                    
!                                                                               
!------------------------------------------------------------------------       
                                                                                
                                                                                
                                                                                
       IMPLICIT NONE                                                            
                                                                                
     INTEGER	       , INTENT(IN)  :: NGAS	                                      
     INTEGER	       , INTENT(IN)  :: ijkbegin		                                 
     INTEGER	       , INTENT(IN)  :: ijkend			                                  
     INTEGER	       , INTENT(IN)  :: maxblock_size		                            
     INTEGER	       , INTENT(IN)  :: nr		 	                                     
     DOUBLE PRECISION , INTENT(IN)  :: dw(maxblock_size,nr,NGAS)                
     DOUBLE PRECISION , INTENT(OUT) :: loss(maxblock_size,NGAS)                 
     INTEGER :: ijk						                                                       
                                                                                
                                                                                
!     Chemical loss terms.                                                      
                                                                                
      DO ijk=ijkbegin,ijkend                                                    
      loss(ijk,  1) = + dw(ijk,  2,  1) &
          + dw(ijk,  3,  1) &
          + dw(ijk, 25,  1) &
          + dw(ijk, 29,  1) &
          + dw(ijk, 30,  1) &
          + dw(ijk, 48,  1) &
          + dw(ijk, 49,  1) &
          + dw(ijk,106,  1) &
          + dw(ijk,107,  1) &
          + dw(ijk,108,  1) &
          + dw(ijk,109,  1) &
          + dw(ijk,110,  1) &
          + dw(ijk,111,  1) &
          + dw(ijk,112,  1) &
          + dw(ijk,113,  1) &
          + dw(ijk,114,  1) &
          + dw(ijk,115,  1) &
          + dw(ijk,120,  1) &
          + dw(ijk,123,  1) &
          + dw(ijk,126,  1)
      loss(ijk,  2) = + dw(ijk,  9,  2) &
          + dw(ijk, 32,  2)
      loss(ijk,  3) = + dw(ijk, 35,  3) &
          + dw(ijk, 38,  3) &
          + dw(ijk, 41,  3) &
          + dw(ijk, 48,  3) &
          +  0.2000000000000000D+01 * dw(ijk, 50,  3) &
          + dw(ijk, 51,  3) &
          + dw(ijk,131,  3) &
          + dw(ijk,132,  3) &
          + dw(ijk,133,  3) &
          + dw(ijk,134,  3) &
          + dw(ijk,135,  3) &
          + dw(ijk,136,  3) &
          + dw(ijk,137,  3) &
          + dw(ijk,138,  3) &
          + dw(ijk,139,  3) &
          + dw(ijk,140,  3) &
          + dw(ijk,141,  3) &
          + dw(ijk,142,  3) &
          + dw(ijk,143,  3) &
          + dw(ijk,144,  3) &
          + dw(ijk,145,  3) &
          + dw(ijk,146,  3) &
          + dw(ijk,147,  3) &
          + dw(ijk,148,  3) &
          + dw(ijk,149,  3) &
          + dw(ijk,236,  3)
      loss(ijk,  4) = + dw(ijk,  1,  4) &
          + dw(ijk, 36,  4) &
          + dw(ijk, 37,  4) &
          + dw(ijk, 39,  4) &
          + dw(ijk, 42,  4) &
          + dw(ijk, 49,  4) &
          + dw(ijk, 53,  4) &
          + dw(ijk,116,  4) &
          + dw(ijk,118,  4) &
          + dw(ijk,121,  4) &
          + dw(ijk,124,  4) &
          + dw(ijk,127,  4) &
          + dw(ijk,129,  4)
      loss(ijk,  5) = + dw(ijk,  7,  5) &
          + dw(ijk,  8,  5) &
          + dw(ijk, 40,  5) &
          + dw(ijk, 44,  5) &
          + dw(ijk, 51,  5) &
          + dw(ijk, 52,  5) &
          + dw(ijk, 53,  5) &
          +  0.2000000000000000D+01 * dw(ijk, 55,  5) &
          + dw(ijk, 91,  5) &
          + dw(ijk, 92,  5) &
          + dw(ijk, 93,  5) &
          + dw(ijk, 94,  5) &
          + dw(ijk, 95,  5) &
          + dw(ijk, 96,  5) &
          + dw(ijk, 97,  5) &
          + dw(ijk, 98,  5) &
          + dw(ijk, 99,  5) &
          + dw(ijk,100,  5) &
          + dw(ijk,101,  5) &
          + dw(ijk,102,  5) &
          + dw(ijk,103,  5) &
          + dw(ijk,104,  5) &
          +  0.4000000000000000D+00 * dw(ijk,105,  5) &
          + dw(ijk,213,  5) &
          + dw(ijk,214,  5) &
          + dw(ijk,215,  5) &
          + dw(ijk,216,  5) &
          + dw(ijk,217,  5) &
          + dw(ijk,218,  5) &
          + dw(ijk,219,  5) &
          + dw(ijk,220,  5) &
          + dw(ijk,221,  5) &
          + dw(ijk,222,  5) &
          + dw(ijk,223,  5) &
          + dw(ijk,224,  5) &
          + dw(ijk,225,  5) &
          + dw(ijk,226,  5) &
          + dw(ijk,227,  5) &
          + dw(ijk,228,  5) &
          + dw(ijk,229,  5) &
          + dw(ijk,230,  5) &
          + dw(ijk,231,  5) &
          + dw(ijk,237,  5)
      loss(ijk,  6) = + dw(ijk, 54,  6)
      loss(ijk,  7) = + dw(ijk,  4,  7) &
          + dw(ijk, 45,  7)
      loss(ijk,  8) = + dw(ijk,  5,  8) &
          + dw(ijk, 46,  8)
      loss(ijk,  9) = + dw(ijk,  6,  9) &
          + dw(ijk, 43,  9) &
          + dw(ijk, 47,  9)
      loss(ijk, 10) = + dw(ijk, 57, 10)
      loss(ijk, 12) = + dw(ijk, 58, 12)
      loss(ijk, 13) = + dw(ijk, 24, 13) &
          + dw(ijk, 25, 13) &
          + dw(ijk, 35, 13) &
          + dw(ijk, 36, 13) &
          + dw(ijk, 37, 13) &
          + dw(ijk, 59, 13) &
          + dw(ijk, 60, 13)
      loss(ijk, 14) = + dw(ijk, 26, 14) &
          + dw(ijk, 27, 14) &
          + dw(ijk, 28, 14)
      loss(ijk, 15) = + dw(ijk, 29, 15) &
          + dw(ijk, 31, 15) &
          + dw(ijk, 32, 15) &
          + dw(ijk, 38, 15) &
          + dw(ijk, 39, 15) &
          + dw(ijk, 40, 15) &
          + dw(ijk, 45, 15) &
          + dw(ijk, 46, 15) &
          + dw(ijk, 47, 15) &
          + dw(ijk, 56, 15) &
          + dw(ijk, 57, 15) &
          + dw(ijk, 58, 15) &
          + dw(ijk, 61, 15) &
          + dw(ijk, 62, 15) &
          +  0.9640000000000000D+00 * dw(ijk, 63, 15) &
          + dw(ijk, 64, 15) &
          + dw(ijk, 65, 15) &
          + dw(ijk, 66, 15) &
          + dw(ijk, 67, 15) &
          + dw(ijk, 68, 15) &
          + dw(ijk, 69, 15) &
          + dw(ijk, 70, 15) &
          + dw(ijk, 71, 15) &
          + dw(ijk, 72, 15) &
          + dw(ijk, 73, 15) &
          + dw(ijk, 74, 15) &
          + dw(ijk, 75, 15) &
          + dw(ijk, 76, 15) &
          + dw(ijk, 77, 15) &
          + dw(ijk, 78, 15) &
          + dw(ijk, 79, 15) &
          + dw(ijk, 80, 15) &
          + dw(ijk, 81, 15) &
          + dw(ijk, 82, 15) &
          + dw(ijk, 83, 15) &
          + dw(ijk, 84, 15) &
          +  0.6500000000000000D+00 * dw(ijk, 85, 15) &
          +  0.5100000000000000D+00 * dw(ijk, 86, 15) &
          + dw(ijk, 87, 15) &
          + dw(ijk, 88, 15) &
          + dw(ijk, 89, 15) &
          + dw(ijk, 90, 15)
      loss(ijk, 16) = + dw(ijk, 30, 16) &
          + dw(ijk, 31, 16) &
          +  0.2000000000000000D+01 * dw(ijk, 33, 16) &
          +  0.2000000000000000D+01 * dw(ijk, 34, 16) &
          + dw(ijk, 41, 16) &
          + dw(ijk, 42, 16) &
          + dw(ijk, 44, 16) &
          + dw(ijk,117, 16) &
          + dw(ijk,150, 16) &
          + dw(ijk,151, 16) &
          + dw(ijk,152, 16) &
          + dw(ijk,153, 16) &
          + dw(ijk,154, 16) &
          + dw(ijk,155, 16) &
          + dw(ijk,156, 16) &
          + dw(ijk,157, 16) &
          + dw(ijk,158, 16) &
          + dw(ijk,159, 16) &
          + dw(ijk,160, 16) &
          + dw(ijk,161, 16) &
          + dw(ijk,162, 16) &
          + dw(ijk,163, 16) &
          + dw(ijk,164, 16) &
          + dw(ijk,165, 16) &
          + dw(ijk,166, 16) &
          + dw(ijk,167, 16) &
          + dw(ijk,168, 16) &
          + dw(ijk,169, 16) &
          + dw(ijk,170, 16) &
          + dw(ijk,232, 16)
      loss(ijk, 17) = + dw(ijk, 61, 17)
      loss(ijk, 18) = + dw(ijk, 62, 18)
      loss(ijk, 19) = + dw(ijk, 63, 19)
      loss(ijk, 20) = + dw(ijk, 64, 20)
      loss(ijk, 21) = + dw(ijk, 65, 21)
      loss(ijk, 22) = + dw(ijk, 66, 22) &
          + dw(ijk, 98, 22) &
          + dw(ijk,106, 22)
      loss(ijk, 23) = + dw(ijk, 67, 23) &
          + dw(ijk, 99, 23) &
          + dw(ijk,107, 23)
      loss(ijk, 24) = + dw(ijk, 68, 24) &
          + dw(ijk,100, 24) &
          + dw(ijk,108, 24)
      loss(ijk, 25) = + dw(ijk, 69, 25) &
          + dw(ijk,101, 25) &
          + dw(ijk,109, 25)
      loss(ijk, 26) = + dw(ijk, 59, 26) &
          + dw(ijk, 70, 26) &
          + dw(ijk,102, 26) &
          + dw(ijk,110, 26)
      loss(ijk, 27) = + dw(ijk, 71, 27) &
          + dw(ijk,103, 27) &
          + dw(ijk,111, 27)
      loss(ijk, 28) = + dw(ijk, 72, 28) &
          + dw(ijk,104, 28) &
          + dw(ijk,112, 28)
      loss(ijk, 29) = + dw(ijk, 73, 29)
      loss(ijk, 30) = + dw(ijk, 74, 30)
      loss(ijk, 31) = + dw(ijk, 75, 31) &
          + dw(ijk, 97, 31)
      loss(ijk, 32) = + dw(ijk, 10, 32) &
          + dw(ijk, 11, 32) &
          + dw(ijk, 76, 32) &
          + dw(ijk, 91, 32)
      loss(ijk, 33) = + dw(ijk, 12, 33) &
          + dw(ijk, 77, 33) &
          + dw(ijk, 92, 33)
      loss(ijk, 34) = + dw(ijk, 16, 34) &
          + dw(ijk, 78, 34)
      loss(ijk, 35) = + dw(ijk, 17, 35) &
          + dw(ijk, 18, 35) &
          + dw(ijk, 80, 35) &
          + dw(ijk, 93, 35)
      loss(ijk, 36) = + dw(ijk, 19, 36) &
          + dw(ijk, 81, 36) &
          + dw(ijk, 94, 36)
      loss(ijk, 37) = + dw(ijk, 20, 37) &
          + dw(ijk, 83, 37) &
          + dw(ijk, 96, 37) &
          + dw(ijk,114, 37)
      loss(ijk, 38) = + dw(ijk, 22, 38) &
          + dw(ijk, 60, 38) &
          + dw(ijk, 82, 38) &
          + dw(ijk, 95, 38) &
          + dw(ijk,113, 38)
      loss(ijk, 39) = + dw(ijk, 84, 39)
      loss(ijk, 40) = + dw(ijk, 23, 40) &
          + dw(ijk, 79, 40)
      loss(ijk, 41) = + dw(ijk, 21, 41) &
          + dw(ijk, 90, 41)
      loss(ijk, 42) = + dw(ijk, 88, 42) &
          + dw(ijk,128, 42)
      loss(ijk, 43) = + dw(ijk, 89, 43) &
          + dw(ijk,105, 43) &
          + dw(ijk,115, 43) &
          + dw(ijk,130, 43)
      loss(ijk, 44) = + dw(ijk, 13, 44) &
          + dw(ijk, 85, 44)
      loss(ijk, 45) = + dw(ijk, 14, 45) &
          + dw(ijk, 86, 45)
      loss(ijk, 46) = + dw(ijk, 15, 46) &
          + dw(ijk, 87, 46)
      loss(ijk, 49) = + dw(ijk,131, 49) &
          + dw(ijk,150, 49) &
          +  0.2000000000000000D+01 * dw(ijk,171, 49) &
          + dw(ijk,172, 49) &
          +  0.9930000000000000D+00 * dw(ijk,173, 49) &
          +  0.9510000000000000D+00 * dw(ijk,174, 49) &
          + dw(ijk,175, 49) &
          + dw(ijk,176, 49) &
          + dw(ijk,177, 49) &
          + dw(ijk,178, 49) &
          + dw(ijk,179, 49) &
          + dw(ijk,180, 49) &
          + dw(ijk,181, 49) &
          + dw(ijk,182, 49) &
          + dw(ijk,183, 49) &
          + dw(ijk,184, 49) &
          + dw(ijk,186, 49) &
          + dw(ijk,187, 49) &
          + dw(ijk,188, 49) &
          + dw(ijk,189, 49) &
          + dw(ijk,190, 49) &
          + dw(ijk,191, 49) &
          + dw(ijk,213, 49) &
          + dw(ijk,233, 49)
      loss(ijk, 50) = + dw(ijk,132, 50) &
          + dw(ijk,151, 50) &
          + dw(ijk,172, 50) &
          + dw(ijk,192, 50) &
          + dw(ijk,214, 50)
      loss(ijk, 51) = + dw(ijk,133, 51) &
          + dw(ijk,152, 51) &
          + dw(ijk,173, 51) &
          + dw(ijk,193, 51) &
          + dw(ijk,215, 51)
      loss(ijk, 52) = + dw(ijk,134, 52) &
          + dw(ijk,153, 52) &
          + dw(ijk,174, 52) &
          + dw(ijk,194, 52) &
          + dw(ijk,216, 52)
      loss(ijk, 53) = + dw(ijk,135, 53) &
          + dw(ijk,154, 53) &
          + dw(ijk,175, 53) &
          + dw(ijk,195, 53) &
          + dw(ijk,217, 53)
      loss(ijk, 54) = + dw(ijk,136, 54) &
          + dw(ijk,155, 54) &
          + dw(ijk,176, 54) &
          + dw(ijk,196, 54) &
          + dw(ijk,218, 54)
      loss(ijk, 55) = + dw(ijk,137, 55) &
          + dw(ijk,156, 55) &
          + dw(ijk,177, 55) &
          + dw(ijk,197, 55) &
          + dw(ijk,219, 55)
      loss(ijk, 56) = + dw(ijk,138, 56) &
          + dw(ijk,157, 56) &
          + dw(ijk,178, 56) &
          + dw(ijk,198, 56) &
          + dw(ijk,220, 56)
      loss(ijk, 57) = + dw(ijk,139, 57) &
          + dw(ijk,158, 57) &
          + dw(ijk,179, 57) &
          + dw(ijk,199, 57) &
          + dw(ijk,221, 57)
      loss(ijk, 58) = + dw(ijk,140, 58) &
          + dw(ijk,159, 58) &
          + dw(ijk,180, 58) &
          + dw(ijk,200, 58) &
          + dw(ijk,222, 58)
      loss(ijk, 59) = + dw(ijk,141, 59) &
          + dw(ijk,160, 59) &
          + dw(ijk,181, 59) &
          + dw(ijk,201, 59) &
          + dw(ijk,223, 59)
      loss(ijk, 60) = + dw(ijk,116, 60) &
          + dw(ijk,117, 60)
      loss(ijk, 61) = + dw(ijk,118, 61) &
          + dw(ijk,119, 61) &
          + dw(ijk,120, 61)
      loss(ijk, 62) = + dw(ijk,121, 62) &
          + dw(ijk,122, 62) &
          + dw(ijk,123, 62)
      loss(ijk, 63) = + dw(ijk,124, 63) &
          + dw(ijk,125, 63) &
          + dw(ijk,126, 63)
      loss(ijk, 64) = + dw(ijk,142, 64) &
          + dw(ijk,161, 64) &
          + dw(ijk,182, 64) &
          + dw(ijk,202, 64) &
          + dw(ijk,224, 64)
      loss(ijk, 65) = + dw(ijk,143, 65) &
          + dw(ijk,162, 65) &
          + dw(ijk,183, 65) &
          + dw(ijk,203, 65) &
          + dw(ijk,225, 65)
      loss(ijk, 66) = + dw(ijk,144, 66) &
          + dw(ijk,163, 66) &
          + dw(ijk,184, 66) &
          + dw(ijk,204, 66) &
          + dw(ijk,226, 66)
      loss(ijk, 67) = + dw(ijk,127, 67) &
          + dw(ijk,145, 67) &
          + dw(ijk,164, 67) &
          + dw(ijk,165, 67) &
          + dw(ijk,185, 67) &
          + dw(ijk,186, 67) &
          + dw(ijk,192, 67) &
          + dw(ijk,193, 67) &
          + dw(ijk,194, 67) &
          + dw(ijk,195, 67) &
          + dw(ijk,196, 67) &
          + dw(ijk,197, 67) &
          + dw(ijk,198, 67) &
          + dw(ijk,199, 67) &
          + dw(ijk,200, 67) &
          + dw(ijk,201, 67) &
          + dw(ijk,202, 67) &
          + dw(ijk,203, 67) &
          + dw(ijk,204, 67) &
          +  0.2000000000000000D+01 * dw(ijk,205, 67) &
          +  0.8800000000000000D+00 * dw(ijk,207, 67) &
          + dw(ijk,208, 67) &
          + dw(ijk,209, 67) &
          + dw(ijk,227, 67) &
          + dw(ijk,234, 67)
      loss(ijk, 68) = + dw(ijk,129, 68) &
          + dw(ijk,146, 68) &
          + dw(ijk,166, 68) &
          + dw(ijk,167, 68) &
          + dw(ijk,187, 68) &
          + dw(ijk,188, 68) &
          + dw(ijk,206, 68) &
          + dw(ijk,228, 68)
      loss(ijk, 69) = + dw(ijk,147, 69) &
          + dw(ijk,168, 69) &
          + dw(ijk,189, 69) &
          + dw(ijk,207, 69) &
          + dw(ijk,229, 69)
      loss(ijk, 70) = + dw(ijk,148, 70) &
          + dw(ijk,169, 70) &
          + dw(ijk,190, 70) &
          + dw(ijk,208, 70) &
          +  0.2000000000000000D+01 * dw(ijk,210, 70) &
          + dw(ijk,211, 70) &
          + dw(ijk,230, 70)
      loss(ijk, 71) = + dw(ijk,149, 71) &
          + dw(ijk,170, 71) &
          + dw(ijk,191, 71) &
          + dw(ijk,209, 71) &
          + dw(ijk,211, 71) &
          +  0.2000000000000000D+01 * dw(ijk,212, 71) &
          + dw(ijk,231, 71)
      loss(ijk, 72) = + dw(ijk,232, 72) &
          + dw(ijk,233, 72) &
          + dw(ijk,234, 72) &
          +  0.2000000000000000D+01 * dw(ijk,235, 72) &
          + dw(ijk,236, 72) &
          + dw(ijk,237, 72)
      END DO   
                                                                                
   END SUBROUTINE fexloss                                                       
                                                                                
  END MODULE mod_chem_spack_fexloss                                             
                                                                                
