I need hourly temperature data from Indonesia, but just have daily and monthly data. Could somebody help to how to generate the hourly data from the daily or monthly data?
The first question to ask is how the data was actually collected, was the daily data obtained by averaging instantaneous data for 24 hour periods or does it simply represent values observed once each day (same time each day)? Likewise for monthly data. When you say you want hourly data do you mean averages for each hour in the day (over 60 minute periods) or do you mean an observation once in each 60 minute period. If the original data are averages (over a 24 hr period or over a month) then you need some information about how the temperatures vary within the 24 hr periods or within the monthly periods, if you have that information you may be able to simulate hourly averages.
If the original data consists of once daily readings or once monthly readings then you have an interpolation problem. Note that daily temp readings might be 24 hr maximums, likewise for the monthly data. That is an entirely different problem.
"Within day" temperature fluctuations are likely to vary with the season, certainly with respect to the spatial location and with local meteorological conditions.
Note that temporal and/or spatial correlation is affected by the "support" of the data, this problem is well known in the geostatistical literature but there is no simple solution.
Campbell, G. S., and J. M. Norman. 1998. An Introduction to Environmental Biophysics. Springer-Verlag: Berlin. This book (page 23) contains a simple model from Fourier analysis that meets your need.
As Maria has pointed out you can simulate hourly data but you can not compute it from monthly or daily data, you won't get real data. i.e. it won't match what would have been observed. The Fourier analysis might be a reasonable way to simulate but it is not real data