You can probably use HSPF but as input you need the ambient air, surface, and rainfall temperature. You can combine some really simple heat transfer models with your HSPF model to have better results.
Depending on the level of detail needed and the amount of complexity you are willing to employ, there are a number of possibilities. My experience is mostly from working in cold / temperate landscapes, so I am not exactly sure how relevant these ideas will be to your situation. Here are the possibilities for simulating water (runoff) temperature on a given day (T_w(t)), from most simple to more complex:
(i) The average air temperature (T_air(t)) or zero degrees, whichever is greater.
T_w (t) = max(T_air(t), 0)
(ii) Lagged air temperature
T_w(t) = (1/k)(T_air(t)) + ((k-1)/k)(T_w(t-1))
The "Nordic" HBV model I have used in the past uses a default lag factor (k) value of 30
(iii) A process-based soil temperature model, I have used Rankinen et al. (2004) and been satisfied with the results
(iv) Any of the more complex, process based river temperature models (see, e.g. Webb et al. 2008)
Rankinen, K., Karvonen, T. and Butterfield, D., 2004. A simple model for predicting soil temperature in snow-covered and seasonally frozen soil: model description and testing. Hydrology and Earth System Sciences Discussions, 8(4), pp.706-716.
Webb, B.W., Hannah, D.M., Moore, R.D., Brown, L.E. and Nobilis, F., 2008. Recent advances in stream and river temperature research. Hydrological Processes: An International Journal, 22(7), pp.902-918.
Martyn N. Futter Thank you Dr. Futter, I will evaluate these formulas and their results with my current observation data and will give you feed back about my results.