When I tried to check unit consistency with modlunit in the KDR.mod file below:
Code: Select all
TITLE KDR Potassium Delayed Rectifier
NEURON {
SUFFIX KDR
USEION k READ ek WRITE ik
RANGE gkbar, ik
}
UNITS {
(mA) = (milliamp)
(mV) = (millivolt)
(mS)=(millisiemens)
}
PARAMETER {
gkbar=3.84e-3 (mS/cm2)
Q10 = 1.2 (1)
Q10TEMP = 22 (degC)
}
STATE {
n
}
ASSIGNED {
v (mV)
ek (mV)
ik (mA/cm2)
nalpha
nbeta (ms)
celsius (degC)
qt (1)
}
INITIAL {
settables(v)
qt = Q10^((celsius-Q10TEMP)/10)
}
BREAKPOINT {
SOLVE states METHOD cnexp
ik = gkbar*n*(v - ek)
}
DERIVATIVE states {
settables(v)
n'=(nalpha*(1-n))-(nbeta*n)
}
UNITSOFF
PROCEDURE settables(v(mV)) {
TABLE nalpha,nbeta
nalpha=(0.016*(35.1-v))/(exp((35.1-v)/5)-1)
nbeta=0.25*exp((20-v)/40)
}
UNITSON
I got the following error:
Checking units of ./KDR.mod
1 K
The previous expression is not dimensionless at line 38 in file ./KDR.mod
qt = Q10^((celsius-Q10TEMP)/10) <<ERROR>>
So what about the units of qt?
Do I mislead something from the PROCEDURE section?