A controller for an energy plant including a fluid loop formed by a plurality of devices, the controller comprising: a processing circuit comprising a processor and memory storing instructions executed by the processor, the processing circuit configured to: - obtain load data indicating a first thermal energy load ( Q̇ c) supplied to the fluid loop by a supply device of the plurality of devices during a time period; - obtain a temperature of gas or liquid in the fluid loop during the time period; - predict a second thermal energy load ( Q̇ l) removed from the fluid loop by a consuming device of the plurality of devices during a non-steady state portion of the time period based on the first thermal energy load ( Q̇ c) during a steady state portion of the time period, wherein the temperature of the gas or the liquid changes beyond a predetermined range during the non-steady state portion, and wherein the temperature of the gas or the liquid remains within the predetermined range during the steady state portion; - generate a model indicating a relationship between (i) the temperature of the gas or the liquid in the fluid loop and (ii) a difference between the second thermal energy load ( Q̇ l) removed from the fluid loop by the consuming device and the first thermal energy load ( Q̇ c) supplied to the fluid loop by the supply device, based on the predicted second thermal energy load (Q̇ l), the first thermal energy load ( Q̇ c), and the temperature of the gas or the liquid in the fluid loop; - assign thermal energy loads to the supply device and the consuming device to maintain the temperature of the gas or the liquid in the fluid loop within an allowable temperature range based on the model; and - operate the plurality of devices of the energy plant according to the assigned thermal energy loads to control the temperature of the gas or the liquid in the fluid loop. - obtain load data indicating a first thermal energy load ( Q̇ c) supplied to the fluid loop by a supply device of the plurality of devices during a time period; - obtain a temperature of gas or liquid in the fluid loop during the time period; - predict a second thermal energy load ( Q̇ l) removed from the fluid loop by a consuming device of the plurality of devices during a non-steady state portion of the time period based on the first thermal energy load ( Q̇ c) during a steady state portion of the time period, wherein the temperature of the gas or the liquid changes beyond a predetermined range during the non-steady state portion, and wherein the temperature of the gas or the liquid remains within the predetermined range during the steady state portion; - generate a model indicating a relationship between (i) the temperature of the gas or the liquid in the fluid loop and (ii) a difference between the second thermal energy load ( Q̇ l) removed from the fluid loop by the consuming device and the first thermal energy load ( Q̇ c) supplied to the fluid loop by the supply device, based on the predicted second thermal energy load (Q̇ l), the first thermal energy load ( Q̇ c), and the temperature of the gas or the liquid in the fluid loop; - assign thermal energy loads to the supply device and the consuming device to maintain the temperature of the gas or the liquid in the fluid loop within an allowable temperature range based on the model; and - operate the plurality of devices of the energy plant according to the assigned thermal energy loads to control the temperature of the gas or the liquid in the fluid loop.