A system for determining charging and discharging power levels for a battery pack, the battery pack having an enclosure holding a battery module therein, the battery module having a housing, and first, second, and third battery cells (110, 114, 116) disposed in the housing, the first battery cell disposed adjacent to an end of the housing and between the end of the housing and the second battery cell, the second battery cell disposed between the first battery cell and the third battery cell, the system comprising: a first temperature sensor disposed between the second and third battery cells (114, 116), the first temperature sensor configured to generate a first temperature signal indicative of a first temperature level of the second battery cell; a second temperature sensor configured to generate a second temperature signal indicative of a second temperature level of a cooling medium flowing into the enclosure of the battery pack; a computer configured to determine first and second temperature values corresponding to the first and second temperature levels, respectively, based on the first and second temperature signals, respectively; wherein the computer is further configured to determine a first difference value indicating a difference between the first and second temperature values; the computer is further configured to retrieve a first temperature correlation value from a table stored in a memory device utilizing the difference value, the table having a plurality of difference values and a plurality of temperature correlation values, each difference value of the plurality of difference values being associated with a corresponding temperature correlation value of the plurality of temperature correlation values; the computer is further configured to determine a third temperature value indicative of a temperature level of the first battery cell disposed adjacent to the end of the housing of the battery module based on the first temperature value and the first temperature correlation value; and the computer is further configured to determine a desired charging power level for the battery pack based on the third temperature value indicative of the temperature level of the first battery cell disposed adjacent to the end of the housing of the battery module. a first temperature sensor disposed between the second and third battery cells (114, 116), the first temperature sensor configured to generate a first temperature signal indicative of a first temperature level of the second battery cell; a second temperature sensor configured to generate a second temperature signal indicative of a second temperature level of a cooling medium flowing into the enclosure of the battery pack; a computer configured to determine first and second temperature values corresponding to the first and second temperature levels, respectively, based on the first and second temperature signals, respectively; wherein the computer is further configured to determine a first difference value indicating a difference between the first and second temperature values; the computer is further configured to retrieve a first temperature correlation value from a table stored in a memory device utilizing the difference value, the table having a plurality of difference values and a plurality of temperature correlation values, each difference value of the plurality of difference values being associated with a corresponding temperature correlation value of the plurality of temperature correlation values; the computer is further configured to determine a third temperature value indicative of a temperature level of the first battery cell disposed adjacent to the end of the housing of the battery module based on the first temperature value and the first temperature correlation value; and the computer is further configured to determine a desired charging power level for the battery pack based on the third temperature value indicative of the temperature level of the first battery cell disposed adjacent to the end of the housing of the battery module.