!--------------------- BEGIN globchem_integrate.f90 BEGIN --------------------
! @file globchem_integrate.f90                                                
! @author jlinford                                                            
! @date 2014-09-24 15:52:02.810765                                            
! @brief Interface to time stepping integrator                                
!                                                                             
! Definitions of interface functions for the Kppa-generated                   
! time stepping integrator.  These are the Kppa "entry point" routines.       
!                                                                             
! This file was generated by Kppa: http://www.paratools.com/Kppa              
!-----------------------------------------------------------------------------




MODULE globchem_integrate

    IMPLICIT NONE


    INTERFACE
    
    INTEGER(C_INT) FUNCTION GridIntegrate(ncells, conc, tstart, tend, abstol, reltol, &
            idata, rdata, lastH) BIND(C, name="GridIntegrate")

        USE ISO_C_BINDING, ONLY: C_DOUBLE, C_INT
        USE globchem_parameters, ONLY: NVAR

        INTEGER(C_INT), VALUE, INTENT(IN) :: ncells
        REAL(C_DOUBLE), INTENT(INOUT) :: conc(NVAR*ncells)
        REAL(C_DOUBLE), VALUE, INTENT(IN) :: tstart
        REAL(C_DOUBLE), VALUE, INTENT(IN) :: tend
        REAL(C_DOUBLE), INTENT(IN) :: abstol(NVAR)
        REAL(C_DOUBLE), INTENT(IN) :: reltol(NVAR)
        INTEGER(C_INT), INTENT(INOUT) :: idata(20)
        REAL(C_DOUBLE), INTENT(INOUT) :: rdata(20)
        REAL(C_DOUBLE), INTENT(OUT) :: lastH(ncells)

    END FUNCTION GridIntegrate
    END INTERFACE


END MODULE globchem_integrate

!----------------------- END globchem_integrate.f90 END ----------------------
