TITLE Na/K/2Cl  cotransporter 

COMMENT
ENDCOMMENT

NEURON {
	SUFFIX nkcc1
	USEION k READ ek, ko WRITE ik
    USEION na READ ena WRITE ina
	USEION cl READ ecl  WRITE icl VALENCE -1
	RANGE ik, ina, icl, g, accna, acccl, acck
}

UNITS {
	(mV)	= (millivolt)
	(molar) = (1/liter)
	(mM)	= (millimolar)
	(um)	= (micron)
	(mA)	= (milliamp)
    FARADAY = (faraday) (coulomb)
    R = (k-mole) (joule/degC)
}

PARAMETER {
	: g = 5.170e-5 (mA/cm2) : or 2e-6 at 300K (mA/mV/cm2) NKCC1 cotransporter strength
    g = 0.1e-3 (mM/ms)
    Kk = 16 (mM)
    Kdiv = 1 (mM)
    surf = 615.7650056818251 (um2) : surface area of original model
    voli = 1436.8 (um3)            : volume of original model 
}

ASSIGNED {
	ik		(mA/cm2)
	icl		(mA/cm2)
    acck    (mA/cm2)
    acccl   (mA/cm2)
    accna   (mA/cm2)
	ina		(mA/cm2)
	ena		(mV)
  	ek      (mV)
  	ecl     (mV)
    celsius (degC)
    ko      (mM)
    diam    (um)
}

INITIAL {
    acck = 0
    accna = 0
    acccl = 0
}

BREAKPOINT {
	LOCAL cur 
	: cur = g * (FARADAY/(R*celsius)) * 0.001 * (-2.0*ecl - ek - ena)
    cur = (g * FARADAY * voli/surf) * (FARADAY/(R * (celsius+273.15))) * (ek + ena - 2.0* ecl)
    :/(1.0 + exp((Kk - ko)/Kdiv))
    : uses the Na gradient to move Cl into the cell
	ik = -(1e-7)*(cur)  
	icl = (1e-7)*(2.0 * cur)
    ina = -(1e-7)*(cur)
    accna = accna + ina
    acccl = acccl + icl
    acck  = acck + ik
}