An energy storage system comprising: a DC bus; a plurality of battery strings, each battery string comprising batteries coupled electrically together; a plurality of DC/DC converters electrically coupling respective battery strings to the DC bus; an enclosure housing the battery strings and the DC/DC converters; and a temperature control system comprising at least one heating, ventilation, and air conditioning (HVAC) system, and a controller characterized in that the controller is programmed to execute a method of • predicting heat loads for respective battery strings within the enclosure, wherein the heat loads comprise external heat loads and internal heat loads; • determining DC/DC converter operating commands and HVAC operating commands based on the respective predicted heat loads to control the actual heat loads of the respective battery strings by: determining the DC/DC converter operating commands to redistribute battery string loading to avoid degradation of at least one battery string having a higher predicted heat load than at least one other battery string, and determining the HVAC operating commands to provide pre-cooling to counteract a predicted heat load for at least one portion of the enclosure; and operating the DC/DC converter and the HVAC system in response to the DC/DC converter operating commands and the HVAC operating commands. a DC bus; a plurality of battery strings, each battery string comprising batteries coupled electrically together; a plurality of DC/DC converters electrically coupling respective battery strings to the DC bus; an enclosure housing the battery strings and the DC/DC converters; and a temperature control system comprising at least one heating, ventilation, and air conditioning (HVAC) system, and a controller characterized in that the controller is programmed to execute a method of • predicting heat loads for respective battery strings within the enclosure, wherein the heat loads comprise external heat loads and internal heat loads; • determining DC/DC converter operating commands and HVAC operating commands based on the respective predicted heat loads to control the actual heat loads of the respective battery strings by: determining the DC/DC converter operating commands to redistribute battery string loading to avoid degradation of at least one battery string having a higher predicted heat load than at least one other battery string, and determining the HVAC operating commands to provide pre-cooling to counteract a predicted heat load for at least one portion of the enclosure; and operating the DC/DC converter and the HVAC system in response to the DC/DC converter operating commands and the HVAC operating commands. • predicting heat loads for respective battery strings within the enclosure, wherein the heat loads comprise external heat loads and internal heat loads; • determining DC/DC converter operating commands and HVAC operating commands based on the respective predicted heat loads to control the actual heat loads of the respective battery strings by: determining the DC/DC converter operating commands to redistribute battery string loading to avoid degradation of at least one battery string having a higher predicted heat load than at least one other battery string, and determining the HVAC operating commands to provide pre-cooling to counteract a predicted heat load for at least one portion of the enclosure; and operating the DC/DC converter and the HVAC system in response to the DC/DC converter operating commands and the HVAC operating commands. determining the DC/DC converter operating commands to redistribute battery string loading to avoid degradation of at least one battery string having a higher predicted heat load than at least one other battery string, and determining the HVAC operating commands to provide pre-cooling to counteract a predicted heat load for at least one portion of the enclosure; and operating the DC/DC converter and the HVAC system in response to the DC/DC converter operating commands and the HVAC operating commands.