How are s&t calculated on a NURBS surface?

Don't know how many of you deal with NURBS surfaces, but....

How are the s&t coordinates calculated on a NURBS surface? More specifically, are they related to the knots/isoparms?

I'm attempting to assign texture corrdinates as point attributes to the CV's of a nurb, but if I refine the nurb by adding several isoparms between two of the original (making a thick concentration of isoparms in one section), then render with a shader that bases color on the uv values I calculated, the color change gets bunched up at the point of high concentration of isoparms. If I do the same test using s&t instead of my u&v, the color changes smooth across the surface.... So I'm guessing my calculation of u&v is not like the calculation of s&t - hence the question. ;)