The model algorithm estimates beam, diffuse and reflected components of the clear-sky and real-sky global irradiance/irradiation on horizontal or inclined surfaces. The total daily irradiation [Wh.m-2] is computed by the integration of the irradiance values [W.m-2] calculated at regular time intervals over the day. For each time step during the day the computation accounts for sky obstruction (shadowing) by local terrain features (hills or mountains), calculated from the digital elevation model.
It is often useful to be able to work off-line. Even if one is not actually perched on a roof top when trying to add up on fingers and toes!
Julian Pearson volunteered me his own (Excel) spreadsheet that "calculates the duration of sunlight per day, at the latitude entered by the user, as well as the angle of the sun... works out the efficiency of the solar strike on the panel for each day of the year ... [it assumes] optimised conditions ... [with an unobstructed, unshaded] clear view south."
He's happy for it to be distributed and used for free as long as the usual courtesies are respected. No messing with it, no charging for it or for use of it, and attribution for his work and that of the people he mentions in the spreadsheet.
One PC-based (paid-for) tool is the PVSYST PC application "for the study, sizing, simulation and data analysis of complete PV systems."