Problems passing an array to a function for 2d interpolation

  float x_sun[] = { 1};  // 11

A one element array is useless.

  float y_voltage[]  = {
}; // 501
  float current[1][501] = {
}; // [ 1 x 501 ] matrix

These 2 arrays are taking up 4008 bytes of SRAM. Do you have that much SRAM?