Generated Code

The following is f77 code generated by the CellML API from this CellML file. (Back to language selection)

The raw code is available.

C
C There are a total of 3 entries in the algebraic variable array.
C There are a total of 10 entries in each of the rate and state variable arrays.
C There are a total of 40 entries in the constant variable array.
C
C
C VOI is time in component environment (hour).
C CONSTS(1) is v_sP in component nucleus (nanomolar_hour).
C CONSTS(2) is v_mP in component nucleus (nanomolar_hour).
C CONSTS(3) is K_IP in component nucleus (nanomolar).
C CONSTS(4) is K_mP in component nucleus (nanomolar).
C CONSTS(5) is v_sT in component nucleus (nanomolar_hour).
C CONSTS(6) is v_mT in component nucleus (nanomolar_hour).
C CONSTS(7) is K_IT in component nucleus (nanomolar).
C CONSTS(8) is K_mT in component nucleus (nanomolar).
C CONSTS(9) is k_d in component cytosol (per_hour).
C CONSTS(10) is n in component nucleus (dimensionless).
C CONSTS(11) is k_1 in component cytosol (per_hour).
C CONSTS(12) is k_2 in component cytosol (per_hour).
C CONSTS(13) is k_dN in component nucleus (per_hour).
C STATES(1) is C in component cytosol (nanomolar).
C STATES(2) is M_P in component nucleus (nanomolar).
C STATES(3) is M_T in component nucleus (nanomolar).
C STATES(4) is C_N in component nucleus (nanomolar).
C CONSTS(14) is k_3 in component cytosol (per_nanomolar_hour).
C CONSTS(15) is k_4 in component cytosol (per_hour).
C CONSTS(16) is k_dC in component cytosol (per_hour).
C STATES(5) is P_0 in component PER (nanomolar).
C STATES(6) is P_1 in component PER (nanomolar).
C STATES(7) is P_2 in component PER (nanomolar).
C STATES(8) is T_0 in component TIM (nanomolar).
C STATES(9) is T_1 in component TIM (nanomolar).
C STATES(10) is T_2 in component TIM (nanomolar).
C CONSTS(17) is V_1P in component PER (nanomolar_hour).
C CONSTS(18) is V_2P in component PER (nanomolar_hour).
C CONSTS(19) is V_3P in component PER (nanomolar_hour).
C CONSTS(20) is V_4P in component PER (nanomolar_hour).
C CONSTS(21) is K_1P in component PER (nanomolar).
C CONSTS(22) is K_2P in component PER (nanomolar).
C CONSTS(23) is K_3P in component PER (nanomolar).
C CONSTS(24) is K_4P in component PER (nanomolar).
C CONSTS(25) is K_dP in component PER (nanomolar).
C CONSTS(26) is v_dP in component PER (nanomolar_hour).
C CONSTS(27) is k_sP in component PER (per_hour).
C CONSTS(28) is V_1T in component TIM (nanomolar_hour).
C CONSTS(29) is V_2T in component TIM (nanomolar_hour).
C CONSTS(30) is V_3T in component TIM (nanomolar_hour).
C CONSTS(31) is V_4T in component TIM (nanomolar_hour).
C CONSTS(32) is K_1T in component TIM (nanomolar).
C CONSTS(33) is K_2T in component TIM (nanomolar).
C CONSTS(34) is K_3T in component TIM (nanomolar).
C CONSTS(35) is K_4T in component TIM (nanomolar).
C CONSTS(36) is K_dT in component TIM (nanomolar).
C ALGBRC(1) is v_dT in component LD_cycle (nanomolar_hour).
C CONSTS(37) is k_sT in component TIM (per_hour).
C CONSTS(38) is PI in component LD_cycle (dimensionless).
C CONSTS(39) is v_dT_dark in component LD_cycle (nanomolar_hour).
C CONSTS(40) is v_dT_light in component LD_cycle (nanomolar_hour).
C ALGBRC(2) is P_t in component PER_total (nanomolar).
C ALGBRC(3) is T_t in component TIM_total (nanomolar).
C RATES(2) is d/dt M_P in component nucleus (nanomolar).
C RATES(3) is d/dt M_T in component nucleus (nanomolar).
C RATES(4) is d/dt C_N in component nucleus (nanomolar).
C RATES(1) is d/dt C in component cytosol (nanomolar).
C RATES(5) is d/dt P_0 in component PER (nanomolar).
C RATES(6) is d/dt P_1 in component PER (nanomolar).
C RATES(7) is d/dt P_2 in component PER (nanomolar).
C RATES(8) is d/dt T_0 in component TIM (nanomolar).
C RATES(9) is d/dt T_1 in component TIM (nanomolar).
C RATES(10) is d/dt T_2 in component TIM (nanomolar).
C
      SUBROUTINE initConsts(CONSTS, RATES, STATES)
      REAL CONSTS(*), RATES(*), STATES(*)
      CONSTS(1) = 0.8
      CONSTS(2) = 0.8
      CONSTS(3) = 1
      CONSTS(4) = 0.2
      CONSTS(5) = 1
      CONSTS(6) = 0.7
      CONSTS(7) = 1
      CONSTS(8) = 0.2
      CONSTS(9) = 0.01
      CONSTS(10) = 4
      CONSTS(11) = 1.2
      CONSTS(12) = 0.2
      CONSTS(13) = 0.01
      STATES(1) = 0.1790
      STATES(2) = 0.09107
      STATES(3) = 1.427
      STATES(4) = 1.203
      CONSTS(14) = 1.2
      CONSTS(15) = 0.6
      CONSTS(16) = 0.01
      STATES(5) = 0.02324
      STATES(6) = 0.02210
      STATES(7) = 0.01251
      STATES(8) = 0.5420
      STATES(9) = 0.8000
      STATES(10) = 4.733
      CONSTS(17) = 8
      CONSTS(18) = 1
      CONSTS(19) = 8
      CONSTS(20) = 1
      CONSTS(21) = 2
      CONSTS(22) = 2
      CONSTS(23) = 2
      CONSTS(24) = 2
      CONSTS(25) = 0.2
      CONSTS(26) = 2
      CONSTS(27) = 0.9
      CONSTS(28) = 8
      CONSTS(29) = 1
      CONSTS(30) = 8
      CONSTS(31) = 1
      CONSTS(32) = 2
      CONSTS(33) = 2
      CONSTS(34) = 2
      CONSTS(35) = 2
      CONSTS(36) = 0.2
      CONSTS(37) = 0.9
      CONSTS(38) = 3.141592653589793
      CONSTS(39) = 2
      CONSTS(40) = 4
      RETURN
      END
      SUBROUTINE computeRates(VOI, CONSTS,  RATES, STATES, ALGBRC)
      REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*)
      RATES(2) =  CONSTS(1)*CONSTS(3) ** CONSTS(10)/(CONSTS(3) ** CONSTS(10)+STATES(4) ** CONSTS(10)) -  CONSTS(2)*STATES(2)/(CONSTS(4)+STATES(2)) -  CONSTS(9)*STATES(2)
      RATES(3) =  CONSTS(5)*CONSTS(7) ** CONSTS(10)/(CONSTS(7) ** CONSTS(10)+STATES(4) ** CONSTS(10)) -  CONSTS(6)*STATES(3)/(CONSTS(8)+STATES(3)) -  CONSTS(9)*STATES(3)
      RATES(4) =  CONSTS(11)*STATES(1) -  CONSTS(12)*STATES(4) -  CONSTS(13)*STATES(4)
      RATES(1) =  CONSTS(14)*STATES(7)*STATES(10) -  CONSTS(15)*STATES(1) -  CONSTS(11)*STATES(1)+ CONSTS(12)*STATES(4) -  CONSTS(16)*STATES(1)
      RATES(5) =  CONSTS(27)*STATES(2) -  CONSTS(17)*STATES(5)/(CONSTS(21)+STATES(5))+ CONSTS(18)*STATES(6)/(CONSTS(22)+STATES(6)) -  CONSTS(9)*STATES(5)
      RATES(6) =  CONSTS(17)*STATES(5)/(CONSTS(21)+STATES(5)) -  CONSTS(18)*STATES(6)/(CONSTS(22)+STATES(6)) -  CONSTS(19)*STATES(6)/(CONSTS(23)+STATES(6))+ CONSTS(20)*STATES(7)/(CONSTS(24)+STATES(7)) -  CONSTS(9)*STATES(6)
      RATES(7) =  CONSTS(19)*STATES(6)/(CONSTS(23)+STATES(6)) -  CONSTS(20)*STATES(7)/(CONSTS(24)+STATES(7)) -  CONSTS(14)*STATES(7)*STATES(10)+ CONSTS(15)*STATES(1) -  CONSTS(26)*STATES(7)/(CONSTS(25)+STATES(7)) -  CONSTS(9)*STATES(7)
      RATES(8) =  CONSTS(37)*STATES(3) -  CONSTS(28)*STATES(8)/(CONSTS(32)+STATES(8))+ CONSTS(29)*STATES(9)/(CONSTS(33)+STATES(9)) -  CONSTS(9)*STATES(8)
      RATES(9) =  CONSTS(28)*STATES(8)/(CONSTS(32)+STATES(8)) -  CONSTS(29)*STATES(9)/(CONSTS(33)+STATES(9)) -  CONSTS(30)*STATES(9)/(CONSTS(34)+STATES(9))+ CONSTS(31)*STATES(10)/(CONSTS(35)+STATES(10)) -  CONSTS(9)*STATES(9)
      ALGBRC(1) = TERNRY( sin( CONSTS(38)*VOI/12.0000).LE.0.00000, CONSTS(39), CONSTS(40))
      RATES(10) =  CONSTS(30)*STATES(9)/(CONSTS(34)+STATES(9)) -  CONSTS(31)*STATES(10)/(CONSTS(35)+STATES(10)) -  CONSTS(14)*STATES(7)*STATES(10)+ CONSTS(15)*STATES(1) -  ALGBRC(1)*STATES(10)/(CONSTS(36)+STATES(10)) -  CONSTS(9)*STATES(10)
      RETURN
      END
      SUBROUTINE computeVariables(VOI, CONSTS, RATES, STATES, ALGBRC)
      REAL VOI, CONSTS(*), RATES(*), STATES(*), ALGBRC(*)
      ALGBRC(1) = TERNRY( sin( CONSTS(38)*VOI/12.0000).LE.0.00000, CONSTS(39), CONSTS(40))
      ALGBRC(2) = STATES(5)+STATES(6)+STATES(7)+STATES(1)+STATES(4)
      ALGBRC(3) = STATES(8)+STATES(9)+STATES(10)+STATES(1)+STATES(4)
      RETURN
      END
      REAL FUNCTION TERNRY(TEST, VALA, VALB)
      LOGICAL TEST
      REAL VALA, VALB
      IF (TEST) THEN
        TERNRY = VALA
      ELSE
        TERNRY = VALB
      ENDIF
      RETURN
      END