The average temperature for the day, is calculated by Cumulus using samples of the temperature taken at 1-minute intervals (sometimes called the 'integration method'). (This assumes Cumulus is running continuously, if it has just been restarted, for some station types Cumulus will use the temperatures stored at the console logging interval for the period since Cumulus previously ran). Each minute the new measurement is added onto the accumulator Total and increments by one the counter Samples in the today.ini log file.
At rollover, the AvgTemp field in yesterday.ini holds the final integrated mean calculated by the quotient of Total over Samples in the old today.ini and the same average is written to dayfile.txt. The integrated mean temperature for each day is also output to the monthly NOAA style report. Integrated average temperatures are available as webtags for today and yesterday.
The average of these daily intregated means for the whole month is shown at the bottom of the monthly NOAA style report and the lowest, actual, and highest of these averages of integrated daily mean for each month are output to the annual NOAA style report. Providing Cumulus is in continuous operation, so the number of measurements in the calculation is the same for every day, the average of integrated daily means over a month is mathematically the same as an integrated mean for the whole month.
This offers an alternative to the simple mean of the highest and lowest temperatures of the day, and can give a 'better' average in cases where the high or low temperature occurred for a relatively short period, so could skew the simple average. To compare the two, select This period from the view menu and by default it will show both the integrated mean and simple mean temperatures for yesterday when you click Update display.
Note that statistically, a median temperature could be used to avoid such skewing, this would require holding all the individual measurements for a day, ranking them in order of magnitude and quoting the central value in that list - Cumulus does not retain the every minute individual values and cannot calculate median. If you wanted to compare daily median and daily mean, you would need to analyse the monthly log file with an external package.