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