Calculate the maximum power angle of a solar panel (photovoltaics)
This question can be answered in many different ways that take into account, or ignore, the many factors that affect the total output of a fix solar panel over a year.

In general, all answers will agree that the solar panel will have to face the north in the southern hemisphere, and the south in the northern hemisphere. This is because that is the direction where the Sun will be when it reaches the maximum elevation during the day. Or if you are within the tropics ($\pm$23.5° of latitude), that's the direction where the Sun will be most of the days when it reaches the maximum elevation.

The tricky part is the inclination angle, because the solar elevation changes trough the day, and the maximum elevation changes trough the year. In general, the mean elevation at solar noon (that usually do not match the clocks noon due to standardized time zones), is given by:

$\overline{h_{max}}=90^o-\text{Latitude}$

And through the year it will vary $\pm$23.5°.

So in a first zero-order approach you can just use that mean value. Now, to find the optimum value you have to model the Sun's position trough the year and run a complex calculation to find the angle that maximizes output. Thankfully some people have done that, and they have reduced the output to simple empirical formulas. For example, in solarpaneltilt.com they provide the following formulas:

$\text{Optimim angle}=\left\{ \begin{array}{rcl} \text{Latitude} \times 0.87 &amp; \mbox{if} &amp; \text{Latitude}&lt;25^o \\ \text{Latitude} \times 0.76 + 3.1 &amp; \mbox{if} &amp; 25^o&lt;\text{Latitude}&lt;50^o\end{array}\right.$

And if you don't want to put the fingers in a calculator they provide a table with some values for different latitudes:



However, this approach pinpoints to an angle with great accuracy, while neglecting what can be one of the main factors affecting the output of your solar panels: weather. Therefore, the above approach would be very accurate if you live in a desert, but misleading if you are in an area with clear weather in winter and rainy weather in summer.

To tackle this problem you can download weather statistics for your location and find the optimum angle yourself. Ideally you would do this by calculating solar output on each day, but I'll first show you also a simpler approach month by month that you can reproduce with very little computer skills and the results will be very similar.

The general workflow is as follows:


Find the typical solar radiation reaching the surface at your location each month/day of the year. Let's call this parameter $S$.
Find the typical solar elevation over the horizon at solar noon at your location each month/day of the year. Let's call this parameter $h$,
Find the maximum solar power that a solar panel could receive if directly facing the Sun, let's call this $S_{max}$ and it will be given by


$\hspace{12em} S_{max}=\frac{S}{\sin(h)}$


Find the effective power hitting a solar panel at a set angle $\theta$. Let's call this $S_{eff}$ and it will be given by


$\hspace{12em} S_{eff}=S_{max} \cos(90^o-h-\theta)$


Adding $S_{eff}$ for each month/day of the year. Let's call this $S_{total}$.
Put all these calculations in a spreadsheet and then play with different values of $\theta$ until you find the one that produces the maximum $S_{total}$.


Now, to get the typical $S$ values for each month you can go to the KNMI Climate Explorer, click the option "ERA-interim 1979-now", then select the variable "surface net solar/longwave radiation", and click "Select Filed" on the top.
Then, you will see a bunch of options, but only focus on the first box:



Fill, the coordinates, add half a degree around your location (this model resolution is ~ 80 km, so don't get picky with accurate locations), select the "max" option (mean would work too), and hit "make time series".

You will get a time series of solar radiation in your area, and the average per month from 1979 to 2019, it will look like this:



Now, you click the "raw data" link above the plot and you will get the numbers for $S$ to feed into your spread sheet, they are in the first data column:



For daily values you start from Daily fields, and select ERA-interim 1979-now rsds field. From there is the same as before. And the plot will look like this:



Now, to get the solar elevation for each month you can use this Solar elevation angle (for a year) Calculator and just take the day closer to the center of the month to feed it into your spredsheet. For getting angles for each day, you can use this Rise/Set/Transit Times for Major Solar System Bodies calculator, this is how I filled the form for my area of interest:



Note that I choose a leap year so it matches the number of days in the output from the KNMI Climate Explorer.

Whith all this, the formulas above and a bit of spreadsheet skils you can find the optimal angle for your location.

My monthly spreadsheet looks like this:



And the daily one like this:



As you can see, for my area of interest the angles differ only by 1° between the monthly and daily calculation. And about 4° with the formulas from solarpaneltilt.com. However, in other climates the differences could be much larger.

This method can be adjusted also if you want to maximize power during the winter months, that are usually the most challenging ones for a solar power supply.
If you area have large temperature variations and want to get fancy, you can also incorporate the effect of temperature in solar panels' efficiency.