# Improving SolarFarmer Performance

SolarFarmer can sometimes feel like it's running a little slower than it could. The sheer variety of PC systems, data and site configurations that be combined can make a huge difference to how it performs.

Below are some hints and guidelines to try and get the best out of your current setup and improve your SolarFarmer experience.

## General performance improvements

#### Use a PC with the recommended system requirements

See the Recommended system requirements for full details.

**Having at least 16GB RAM is especially important**- Once the RAM gets low, your whole PC will start to run more slowly as it pages memory to disk.
- If you only have 8GB RAM, try closing applications that you don't need to free up as much RAM as you can.
- Ideally 32GB RAM (or more!) is best, especially when running large sites using the local calculation.

**More cores - quicker local calculation**- The local calculation runs in parallel and uses as many cores as there is available. So the more cores you have, the quicker the calculation will run.

#### Reduce the size of the workbook

Reducing the size of the workbook will speed up the loading of the workbook, and also help reduce the amount of RAM it needs, helping with performance.

**Download the lower-resolution SRTM terrain data**- (unless you really need the high-resolution!)
- Using high-res can make the workbook size very large. E.g., for a simple workbook (just the location set):
- With 1 low-res SRTM tile - workbook file size =
**18.5MB** - With 1 high-res SRTM tile - workbook file size =
**159MB**

- With 1 low-res SRTM tile - workbook file size =

- (unless you really need the high-resolution!)
**Only download the terrain tiles you really need**- Delete any others that are outside the site's bounds, as they will add to the data stored in memory.
- You may need to download additional tiles for generating horizon data. Once the horizon is generated delete
any additional tiles that are no longer needed.

**Delete any solar resources you don't need**- These can make the workbook larger and slow down the loading of the workbook.

## Improving the calculation speed

#### Use the 2D (simple model) for quicker, but less accurate results

- This is useful when you want to play with parameters and just want a ball-park figure.

- When you want the most accurate answer, switch to the 3D (full) model.

#### Run calculations on the cloud when possible

- For 2D calculations, apart from very small, simple sites, using the cloud will generally be quicker (especially if your PC doesn't have much RAM or many cores). It will avoid using resources on your PC.
- See Running calculations in the cloud from SolarFarmer for help with running your calculations in the cloud.
- For 3D calculations (if you have access to the private preview) using the cloud will be quicker too, especially for larger sites. We are working on improving the speed and scaling functionality of the 3D cloud calculation this year.

#### Number of solar records is directly proportional to calculation time

- E.g., hourly TMY (8,760 records) will be much quicker to run than 15 minute data over 10 years (350,400 records).
- Keep this in mind for calculation speed expectations.
- When you're just experimenting with different layouts or parameters, use a solar resource with fewer records to keep the calculation time down.

#### Don't save the detailed time-series files

- Writing these files uses more memory, and can slow things down a bit.
- Only choose to write them when you
*definitely*have a need for them. - Make sure the 'Save detailed time-series files' checkbox in the 'Energy > Setup yield calculation' page is unchecked:

- If you do choose to save these files, and are running the local calculation, skipping the writing of the
'ModulePerformanceOutput.tsv' file can help as this can sometimes get very large for large sites, causing memory
and file-system problems. To do this:
- In the Scripting Editor, save and run the following script (and then save the workbook). This will prevent the file from being saved:

```
public void Execute()
{
Workbook.CalculationSettings.SkipWritingModulePerformanceOutput = true;
}
```

#### Close/reopen SolarFarmer between long-running calculation runs

- If you're running several very long-running calculations locally it can help to close SolarFarmer and reopen it in between running the different calculations.
- This can help clear memory, saving on RAM used.

#### Half-cell modules can take a bit longer

- Half-cell modules can take a bit longer in the calculation, especially using the 3D calculation, as extra shading calculations are required.
- If you have a choice (e.g., for a demo, or you're just experimenting) then choose non half-cell modules to get a slightly quicker calculation.

#### Keep shading objects simple and sparse

- When running the 3D tracker calculation locally, the more shading objects (shading regions and 3D models) there are, the slower the calculation will be.
- Keep the objects as simple as you can (fewer sides) and keep the number to the minimum you need.
- The complexity and number of shading objects doesn't affect the 3D rack calculation quite so much.

#### The site size (AC and DC capacity) is directly proportional to calculation time for 3D

- In the 3D calculation, as SolarFarmer calculates a lot of factors on the sub module level, the calculation time increases proportionally to the number of modules in the site. Larger sites will take longer.
- For 2D calculations this isn't the case, as shortcuts and scaling can happen at a layout region level, so very large sites can still be relatively quick.

#### The number of racks/trackers can affect calculation time for 3D

- In the 3D calculation there are quite a lot of calculations done on the rack/tracker level, especially regarding shading. A site with lots of small trackers will take slightly longer than the same capacity site that uses fewer but longer trackers.
- There is not a lot you can do if you're modelling a real site, but something to keep in mind.

#### Very complex terrain can make the 3D calculation slightly slower

- There are some optimisations in the 3D calculation where it groups (bins) racks/trackers that have very similar angles of incidences.
- It can then do the irradiance part of the calculation only once for the group, before continuing with the rest of the calculation, speeding things up a little.
- If the terrain is very complex and wavy there is a higher likelihood of there being many different angles of incidences, so there will be more groups of racks/trackers to process, making the calculation a little slower.
- Again, there is not a lot you can do about this! But just bear this in mind as it can affect the speed of the 3D calculation.