! Program to test cellular metabolism 

module main_mod
implicit none

integer, parameter :: SP = kind(1.0), DP = kind(1.0d0)
integer, parameter :: REAL_KIND = DP

type metabolism_type
	real(REAL_KIND) :: HIF1
	real(REAL_KIND) :: PDK1
	real(REAL_KIND) :: I_rate_max
	real(REAL_KIND) :: G_rate
	real(REAL_KIND) :: PP_rate
	real(REAL_KIND) :: P_rate 
	real(REAL_KIND) :: L_rate
	real(REAL_KIND) :: A_rate
	real(REAL_KIND) :: I_rate
	real(REAL_KIND) :: O_rate
	real(REAL_KIND) :: GA_rate
	real(REAL_KIND) :: f_G
	real(REAL_KIND) :: f_P
	real(REAL_KIND) :: C_P
	real(REAL_KIND) :: C_A
	real(REAL_KIND) :: Gln_rate
	real(REAL_KIND) :: f_Gln
	real(REAL_KIND) :: recalcable 
!	logical :: recalcable 
end type

contains

!--------------------------------------------------------------------------
!--------------------------------------------------------------------------
subroutine mp_execute(ng, CC, mpArr)
implicit none
!DEC$ ATTRIBUTES DLLEXPORT, STDCALL, REFERENCE, ALIAS:"mp_execute" :: mp_execute
integer :: ng
real(REAL_KIND) :: CC(ng)
type(metabolism_type) :: mpArr(ng)
integer :: i
type(metabolism_type) :: metab

do i = ng,1,-1
	CC(i) = i*0.01
	mpArr(i) = metab
enddo

end subroutine

end module


