SolarFarmer User Guide - Renewable Energy Software

77
DNV GL Headquarters, Veritasveien 1, P.O.Box 300, 1322 Høvik, Norway. Tel: +47 67 57 99 00. www.dnvgl.com SolarFarmer User Guide Document Version: 1.9 Document Date: 22nd October 2019 DISCLAIMER Acceptance of this document by the client is on the basis that Garrad Hassan & Partners Ltd is not in any way to be held responsible for the application or use made of the findings of the results from the analysis and that such responsibility remains with the client. COPYRIGHT All rights reserved. Duplications of this document in any form are not allowed unless agreed in writing by Garrad Hassan & Partners Ltd. © 2019 Garrad Hassan & Partners Ltd. DNV GL One Linear Park, Avon Street, Temple Quay, Bristol, BS2 0PS, UK www.dnvgl.com

Transcript of SolarFarmer User Guide - Renewable Energy Software

DNV GL Headquarters, Veritasveien 1, P.O.Box 300, 1322 Høvik, Norway. Tel: +47 67 57 99 00. www.dnvgl.com

SolarFarmer User Guide

Document Version: 1.9

Document Date: 22nd October 2019 DISCLAIMER

Acceptance of this document by the client is on the basis that Garrad Hassan & Partners Ltd is not in any way to be held responsible for the application or use made of the findings of the results from the analysis and that such responsibility remains with the client. COPYRIGHT

All rights reserved. Duplications of this document in any form are not allowed unless agreed in writing by Garrad Hassan & Partners Ltd.

© 2019 Garrad Hassan & Partners Ltd.

DNV GL One Linear Park, Avon Street, Temple Quay, Bristol, BS2 0PS, UK www.dnvgl.com

SolarFarmer User Guide Page 2 of 77

1 INTRODUCTION .............................................................................................................. 4

1.1 Installation 4 1.1.1 System Requirements 4

1.2 Licensing 4

1.3 General User Interface Principles 5 1.3.1 Workbook 6 1.3.2 Working with the Map 6

2 SETUP SITE ................................................................................................................... 7

2.1 Site Location 7

2.2 Map Backgrounds/Terrain 7 2.2.1 Map Backgrounds 7 2.2.2 Terrain 8

2.3 Horizon Line 8 2.3.1 Generating a Horizon 8

3 DEFINE CLIMATE .......................................................................................................... 10

3.1 Solar Resources 10

3.2 Albedo 10

4 DEFINE SHADING OBSTACLES ....................................................................................... 11

4.1 Shading Obstacles 11 4.1.1 Add Pre-defined 3D Objects 11 4.1.2 Define Simple Boundary-Based Shading Objects 11

5 DEFINE COMPONENTS ................................................................................................... 13

5.1 PV Modules 13 5.1.1 Import from a PAN File 13 5.1.2 Defining the Properties 13

5.2 Inverters 14 5.2.1 Importing Inverter Specifications 14 5.2.2 Defining the Properties 14 5.2.3 Exporting Inverter Specifications 14

5.3 String Length 14

5.4 Racks 14 5.4.1 Rack System Properties 15 5.4.2 Rack Specifications 15

5.5 Trackers 15 5.5.1 Tracker System Properties 15 5.5.2 Tracker Specifications 16

5.6 Inverter Blocks 16 5.6.1 Adding Inverter Blocks 16

5.7 Transformers 18

6 LAY OUT PLANT ............................................................................................................ 19

6.1 Design Layout 19 6.1.1 Site Layouts 19 6.1.2 Layout Regions 20 6.1.3 Adding Transformers 25 6.1.4 Adding Central Inverters 25 6.1.5 Assigning Strings to Central Inverters 26 6.1.6 Adding String Inverters 27 6.1.7 Formatting Inverter Blocks 29 6.1.8 Adding Inverter Blocks to a Layout Region 32 6.1.9 Site Statistics Dialog 35 6.1.10 Generic Layout 35

6.2 Electrical Configuration 40

SolarFarmer User Guide Page 3 of 77

6.3 Review Trackers 40

6.4 Review Shading 41

7 CALCULATE ENERGY ..................................................................................................... 43

7.1 Setup Yield Calculation 43 7.1.1 Simple Model vs Full Model 44 7.1.2 Performance Statistics 44

7.2 Yield Results 44

7.3 Effects Diagram 45

8 CREATE REPORT ........................................................................................................... 46

8.1 Create Report 46

9 MISCELLANEOUS .......................................................................................................... 47

9.1 Scripting 47 9.1.1 ‘Workbook’ for accessing the workbook settings 47 9.1.2 ‘Toolbox’ for accessing the calculation toolbox 48 9.1.3 Scripting in Future 48

9.2 Automatic results export 48

10 USEFUL HINTS AND TIPS ............................................................................................... 49

10.1 Working with the Map 49 10.1.1 Map Toolbar 49 10.1.2 Map Layers 49 10.1.3 3D Mode 50 10.1.4 Elevation Profile Tool 52

10.2 Export to PVsyst 54 10.2.1 Important things to note before laying out a site 54 10.2.2 Using the UI Dialog 55 10.2.3 Using Scripting 56 10.2.4 Importing the Project into PVsyst 57

11 HELP AND SUPPORT ...................................................................................................... 62

11.1 Support Email 62

11.2 User Portal Page 62

11.3 Log Files 62

11.4 System Information Page 63

11.5 About Box 63

APPENDIX A GLOSSARY AND DEFINITIONS ............................................................................... 64

APPENDIX B TRANSFERRING A SOFTWARE LICENSE .................................................................. 69

APPENDIX C RUN SOLARFARMER FROM THE COMMAND LINE ...................................................... 70

APPENDIX D SPECIFIC SCRIPTING EXAMPLES ............................................................................ 71

SolarFarmer User Guide Page 4 of 77

1 INTRODUCTION

SolarFarmer is DNV GL’s Solar PV modelling software. It combines thoroughly-validated PV simulation

algorithms with a modern, attractive and efficient user interface allowing quick configuration of designs

and detailed simulation of PV layouts.

We will be publishing validation papers to demonstrate the accuracy of the simulations to the industry as

we work towards industry acceptance of the software.

This is a user guide to help you get started with using the SolarFarmer application.

1.1 Installation

The installer contains everything you need to install and run SolarFarmer on your machine.

You can download the latest SolarFarmer installer from the portal web site:

1. Request SolarFarmer Portal access by emailing [email protected].

2. Once they’ve replied, access the DNV GL Renewable Energy Software portal page here:

https://renewableenergysoftwareportal.dnvgl.com/

3. Click on the SolarFarmer icon on the portal’s home page to take you to the SolarFarmer page.

4. Download the installer and double-click to install (Administrator permissions will be needed).

1.1.1 System Requirements

SolarFarmer is designed to run on a PC with the following specifications:

Minimum System Requirements:

OS Windows 7 or Windows 10

Processor 2GHz processor or above

RAM 8GB

Graphics card DirectX 9 or later (NOT on-board graphics)

Resolution 1280 x 1024

Mouse Mouse with mouse wheel

Recommended System Requirements:

OS Windows 10

Processor 3GHz processor or above

RAM 16GB (or more)

Graphics card NVIDIA Quadro K600 equivalent or above

Resolution 1920 x 1200

1.2 Licensing

SolarFarmer requires that you have a valid Product Key in order to run the software.

1. Install SolarFarmer on your machine (the machine on which you’ll use it).

2. Request a Product Key via the SolarFarmer support email address [email protected].

3. Once you get emailed a Product Key, open the Software License Activation Utility (in the

SolarFarmer program folder in the Windows Start Menu).

4. Paste your unique Product Key into the appropriate text box and click the ‘Activate License’

button (make sure you’re connected to the Internet).

5. After a few seconds SolarFarmer will be licensed to run on that machine.

SolarFarmer User Guide Page 5 of 77

6. Launch SolarFarmer.

See Appendix A for more information on how to transfer a software license to another machine once you

have already installed it.

1.3 General User Interface Principles

The SolarFarmer user interface is designed to step the user through the process of configuring a site

model in a logical and intuitive order whilst allowing easy access to any part of the model at any time.

The process is organised into ‘chapters’ symbolized by the large icons on the left of the SolarFarmer

window (highlighted in red below). Each chapter is broken down into ‘tasks’ that appear to the right of

the chapter icons when the chapter is selected highlighted (in green below).

Figure 1 - Chapter and Tasks in the SolarFarmer user interface

Typically, the user will run through the chapters and the task sections within them from top to bottom.

Here’s a quick overview of the functionality available in each chapter:

Setup Site • Set the site’s location and time zone

• Download/import map backgrounds and terrain

• Choose or generate a horizon line for the site

Define Climate • Import solar data to use in the calculation

• Specify albedo values

SolarFarmer User Guide Page 6 of 77

Define Shading

Obstacles

• Import 3D Sketchup objects (Collada format) to use for shading

• Create simple 3D regions that provide shading

Define

Components

• Specify the components that will be used in the PV site: PV Modules, inverters, racks, trackers, inverter blocks, transformers

• Set default string lengths used in the layout

Lay Out Plant • Lay out the racks/trackers in your site

• Add inverters and transformers and lay out strings of modules

• Connect inverters to transformers

• Review shading and tracker behaviour throughout a typical year

Calculate

Energy

• Configure and run the energy yield calculation

• Review the results of the energy yield calculation using tables and

the effects diagram

Create Report • Create XML and Microsoft Word reports of the site data and energy

yield results

1.3.1 Workbook

When choosing the site location, defining components and laying out the site, you can save the current

state in what we call a workbook. This is the equivalent of a project or document in other software

packages; files are saved with a *.sfw extension (SolarFarmer Workbook).

1.3.2 Working with the Map

See Section 10.1 for more details and tips on working with the map in SolarFarmer.

SolarFarmer User Guide Page 7 of 77

2 SETUP SITE

2.1 Site Location

Using a simple wizard:

1. Set the location of your PV plant site. Search by location name or latitude longitude

coordinates. You can view the currently selected location in Google Maps or Bing Maps. The

orange pushpin icon points to the current position of the site’s centre. Pan and zoom the map to

find the site’s location then right-click and choose ‘Set the site location here’ from the popup

menu to set the site’s location.

2. Select the workbook projection system. Use the default provided (UTM with WGS84 datum)

unless you have some background imagery or terrain that is in a specific projection.

3. Download some background imagery and terrain. Following the instructions – define a

rectangle on the map which to download imagery (define the rectangle to be slightly bigger than

the area of your site) and hit the ‘Start Download’ button.

The site’s time zone will be set automatically depending on the site’s location. Modify this manually if

necessary. This is used in conjunction with the solar data that you will import shortly.

Once you have set the site’s location it will be shown as an orange marker on a static world map on the

‘Site location’ task page.

2.2 Map Backgrounds/Terrain

This task allows you to download more backgrounds and terrain to your site.

2.2.1 Map Backgrounds

Import a georeferenced image

For importing image files that contain georeferenced meta-data (i.e. they have a location and area). They will be placed in the correct location on the map

Import and rectify

any image

For importing image files that do not contain any georeferenced information

(i.e. a simple *.jpg or *.png file). The rectification tool appears to allow you to position the image on the map (see below).

Download imagery Download imagery from various online sources.

2.2.1.1 Rectification Tool

This tool allows you use a non-georeferenced image as a background image on the map. This is useful if

you receive an image or PDF of the site layout that doesn’t have any geographic reference. You can

then use this rectified site layout image to help you lay out an existing site layout.

SolarFarmer User Guide Page 8 of 77

The idea is to add control points to the source image and add corresponding control points on the map

(which will have a geographic position) using the downloaded background imagery as a reference. The

software then warps (rectifies) the bitmap image by lining up the corresponding control points and stores

the warped image as a background image.

To use it:

1. Open a source bitmap image. This appears on the top-left of the tool window.

2. Pan and zoom the workbook map (on the top-right of the tool window) to roughly show the same area covered by the source bitmap.

3. Right-click on the source image to add a control point. A corresponding control point appears in the workbook map.

4. Select and drag the corresponding point in the workbook map to the correct geographic location.

5. Add at least 3 controls points to help get the rectification correct.

6. Click the ‘Rectify’ button.

The image will be rectified and added as a background image to the map.

2.2.2 Terrain

Import a terrain file If you have been provided with a specific elevation file for your site you can import it here.

Download terrain

This shows the download wizard where you can download free SRTM (Shuttle Radar Topography Mission) terrain for the selected area. This is generally lower resolution than bought terrain files for your area, but often sufficient.

2.3 Horizon Line

Horizon data is used to tell the energy yield calculation when direct sunlight is/isn’t available to the site,

depending on the position of the sun.

You can import an existing horizon file (from Meteonorm or PVsyst) if you already have one for your site.

Or you can use the terrain data that you have downloaded to generate a horizon for your site. Click on

‘Generate…’ to show the ‘Generate Horizon’ tool.

2.3.1 Generating a Horizon

To generate horizon data for your site click on the ‘Generate…’ button to show the Generate Horizon tool.

The algorithm uses a viewpoint slightly above the ground and renders terrain in all 360° directions from

the near radius to the far radius away from the view location. The terrain inside the near radius is used

in the near-shading model (in the energy yield calculation) and thus isn’t used for the horizon.

A far radius of around 30km is generally sufficient. The dialog will prompt you if you have downloaded

insufficient terrain. Either reduce the far radius so that it covers the available terrain or press the button

to auto-download the terrain required.

Once generated, the chart shows you the path of the sun (azimuth along the x-axis, elevation up the y-

axis) in summer, winter and in between. Then overlays the horizon over that so you can see when the

sun will be obscured by the horizon. (Note SolarFarmer uses angle clockwise from true north when

presenting azimuth angles throughout the application, unlike some other PV design packages).

SolarFarmer User Guide Page 9 of 77

Figure 2 - Example of sun positions and horizon

SolarFarmer User Guide Page 10 of 77

3 DEFINE CLIMATE

In this chapter climate data affecting the performance of the PV plant are loaded or set.

3.1 Solar Resources

Use this section to load solar resource data to be used in energy yield calculation. Multiple datasets can

be loaded though only one can be used at a time for an individual energy yield calculation.

Several file formats are currently supported by SolarFarmer:

• Meteonorm PVsyst Hourly TMY (*.dat)

• NSRDB TMY3 (*.csv)

• SolarGIS database TMY (*.csv)

• SolarGIS database multi-year (*.csv)

• Tab separated variable, free-format file

• Tab separated variable, Date | POA | Temp | (WS)

• Tab separated variable, Date | DHI | Temp | (WS)

• Tab separated variable, Date | GHI | DHI | Temp | (WS)

Note:

TMY Typical Metrological Year NSRDB National Solar Radiation Database

POA Plane of Array DHI Diffuse Horizontal Irradiance GHI Global Horizontal Irradiance Temp Temperature (in Centigrade) WS Wind Speed (in m/s)

The date/time format in the tab separated variable files must be “yyyy-MM-dd hh:mm” with the time

stamps marking the beginning of the sample periods.

When you select a file, you need to specify the latitude longitude location of the data, along with the

time zone, to help SolarFarmer adjust the data if necessary so it is valid for your site location for files

that do not contain this information.

You will be notified of any validation issues after the import is complete. Consider these carefully before

choosing to use the data with the energy yield calculation.

3.2 Albedo

Albedo is a measure of the reflectivity of a surface, in this case the ground around the PV plant under

analysis. A value of 1.0 indicates perfect reflectivity. A value of 0 indicates complete absorption.

Typical values range from 0.15 for grass to 0.8 for fresh snow.

Specify albedo as either a single annual value or 12 monthly values (if your site has strong seasonal

variation).

SolarFarmer User Guide Page 11 of 77

4 DEFINE SHADING OBSTACLES

4.1 Shading Obstacles

SolarFarmer is built on a full 3D model and shading obstacles can be added to this model in addition to

the terrain data. All these may cause shading effects on the PV modules.

There are two ways to add shading obstacles, described below.

4.1.1 Add Pre-defined 3D Objects

3D objects prepared in other software packages (such as Sketchup) that have been saved in COLLADA

(Collaborative Design Activity) *.dae format can be imported into the SolarFarmer workbook and

positioned in the site. This is particularly suited to complex objects or objects that you want repeated

across the site area.

1. Import the 3D object model into the workbook (click the ‘Import 3D model’ button to select it).

a. The object will be shown in the 3D Model Shading Object Library in the top-left panel.

b. You may add several objects to the library.

2. Select the object in the library that you wish to add an instance of to the map.

3. Select the ‘Located 3D Object’ tool in the map’s toolbar (grey cube with green ‘+’ symbol

highlighted in red below)

4. Click on the map to add an instance of that 3D object at the location you click

a. The map tool reverts to the ‘Select’ tool – click and drag the object to exactly where you

want it.

5. TIP: Hold down the CTRL keyboard key whilst adding 3D objects to maintain the adding object

functionality so you can quickly add multiple objects.

6. Switch the map to 3D mode (the ‘3D button in the top-middle of the map) to view the objects in

3D.

4.1.2 Define Simple Boundary-Based Shading Objects

If you don’t have access to a 3D modelling package, or you just want to create a quick 3D volume to

approximate a forest, hedge or building, you can add a shading region.

1. Click on the ‘Shading region’ button in the map toolbar (green polygon with ‘+’ symbol

highlighted in purple below).

SolarFarmer User Guide Page 12 of 77

2. Click on the map to add points to form a polygon. Finish the polygon by clicking on the first

point you clicked.

a. TIP: You can also double-click on the last point to quickly finish a polygon.

3. A new shading region object is added to the map and also to the table in the ‘Shading Region

Objects’ table in the bottom-left panel.

4. Set the height of the shading region (height above the terrain) and the type:

a. ‘Follows terrain’ means that the height of the volume will be the same above each point.

Useful for forests or hedges whose height you want to follow the terrain.

b. ‘Flat top’ means that the 3D volume will have a horizontal top face. Useful for modelling

simple flat-topped buildings.

5. Again, switch the map to 3D mode to see the 3D volume.

a. TIP: You can adjust the height of the shading regions whilst in 3D mode to fine-tune the

height of the shading regions.

SolarFarmer User Guide Page 13 of 77

5 DEFINE COMPONENTS

This chapter allows you to define the components that will be used in the layout of your site. Think of it

as building a component library.

5.1 PV Modules

This task allows you to define the module specifications that will be used in your site.

5.1.1 Import from a PAN File

You can import a module specification from a PVsyst .PAN file. Only text-based PAN files are supported

(from PVsyst version 6.40 onwards). PAN files in binary format (usually from older versions of PVsyst)

can unfortunately not be read.

5.1.2 Defining the Properties

If you choose to import a PAN file or create a brand-new module specification, you are presented with

multiple properties, organised into groups.

The Electrical Configuration tab contains more electrical-related properties, along with a chart displaying

various properties of the specification.

Any validation errors in the values will be highlighted in red, with additional validation information

appearing at the top in a red (errors) or orange (warnings) drop-down. Any errors must be rectified

before the module specification can be used in the energy yield calculation.

TIP: You can also choose to export the module specification values to a file (.ModuleSpec). This is a

proprietary SolarFarmer format and can be imported into other SolarFarmer workbooks.

5.1.2.1 Bifacial Properties

You can specify whether a module specification is bifacial or not with the properties in the ‘Bifacial’ group

(this is also set automatically when you import from a PAN file). If checked, the module is defined to be

bifacial and will be modelled in the energy calculation.

SolarFarmer User Guide Page 14 of 77

The bifaciality factor is the fraction (in %) of the front side efficiency to convert back side irradiance to

electricity. Other bifacial-related factors (shade, transmission and mismatch factors) are set later for

each layout region.

5.2 Inverters

This task allows you to define the inverter specifications (for both central and string inverters) that will

be used in your site.

5.2.1 Importing Inverter Specifications

There is support for importing PVsyst .OND inverter files (as long as they are in text file format -

generally from PVsyst version 6.40 onwards).

You can also import inverter specifications in SolarFarmer’s proprietary .InverterSpec file format.

5.2.2 Defining the Properties

After creating a brand-new inverter specification or importing a file you are presented with multiple

properties.

Any validation errors in the values will be highlighted in red, with additional validation information

appearing at the top in a red (errors) or orange (warnings) drop-down. Any errors must be rectified

before the inverter specification can be used in the energy yield calculation.

5.2.3 Exporting Inverter Specifications

You can export the inverter specification values to a file (.InverterSpec format - a proprietary

SolarFarmer format and can be imported into other SolarFarmer workbooks). There is currently no

support to export to the PVsyst .OND format.

5.3 String Length

The string length task allows you to define default string lengths for each inverter input/PV module

specification combination.

Once these have been set up, when you come to laying out strings of modules and attaching them to

inverters in the upcoming lay out task, SolarFarmer can use these default string lengths as it creates the

strings.

There is some help in this task to help you determine the optimal string length for the inverter input and

module specification combination, based on some of the component properties. You can choose to use

the suggested string length or use your own.

5.4 Racks

You may know racks as ‘tables’. The concept is the same. We have chosen to use the term ‘rack’ to

mean a structure that a number of PV modules are placed on.

SolarFarmer User Guide Page 15 of 77

5.4.1 Rack System Properties

A rack system is like a family of racks of different lengths. When automatically laying out racks during

the lay out process you choose a rack system and racks of various lengths are used to fill out the layout

region most effectively.

The Module Length and Module Width properties should be the same as the module specification that

you intend to use with the rack system. Click the ‘Use a module specification to set module dimensions…’

button to use the dimensions of an existing module specification.

The Modules Deep value is the number of modules vertically down the rack. This is the same for all

rack specifications in the rack system family.

5.4.2 Rack Specifications

Press the ‘Insert’ button to add a new rack specification to the rack system family.

A rack specification is a specific instance of a rack system of a defined length. Modules Wide is the

number of modules along the rack. You will see a visual representation of the currently selected rack

specification in the lower panel.

You can also specify spacing distances between modules (vertically and horizontally), the spacing

between racks and an optional frame size around each rack.

5.5 Trackers

Trackers refer to single-axis trackers. Similar to rack systems, a tracker system is like a family of

trackers of different lengths.

Single-axis trackers in SolarFarmer are placed on a flat (but not necessarily horizontal) plane over the

terrain - if the terrain is undulating, some trackers will be higher than others. The acceptable tolerances

of the height of the tracker axes are controlled in the properties described below.

5.5.1 Tracker System Properties

Again, the Module Length and Module Width properties should be the same as the module

specification that you intend to use with the tracker system. Click the ‘Use a module specification to set

module dimensions…’ button to use the dimensions of an existing module specification.

Here you define the axis settings:

• Min/max heights above ground – the minimum and maximum heights that the axis can be from

the ground. As described above, as the trackers are all laid out in a flat plane, some may be

higher than others. These parameters control the acceptable tolerances.

• Max rotation angle – the maximum rotation angle (in degrees) from the horizontal that the

tracker panels can rotate around the axis (up to 90°).

• Max tilt along axis – the maximum angle between the axis (along the length of the trackers) and

the horizontal that the trackers can be laid out. If the terrain is undulating the resulting plane

may be at a steeper angle than is allowed.

You also define whether the backtracking algorithm should be used for this tracker system, along with

some frame and module spacing values.

SolarFarmer User Guide Page 16 of 77

There is a cross-section diagram that is updated as up you update the properties to help you understand

why validation issues arise – for example it makes it easier to see if the tracker will hit the ground with

the current settings:

5.5.2 Tracker Specifications

Press the ‘Add’ button to add a new tracker specification to the tracker system family.

Length of tracker row is the number of modules along the length of the tracker. You will see a visual

representation of the currently selected tracker specification in the panel on the right.

5.6 Inverter Blocks

To simplify the construction of some larger PV plants the layout designers design a building block (one

central inverter and associated racks or trackers) and replicate this building block many times over the

area of the site to build the PV plant.

In SolarFarmer we call this building block an inverter block (as it contains just one inverter).

To design and use an inverter block in SolarFarmer:

1. First go to the Lay out plant -> Design layout task and create a layout region containing racks

or trackers, add a central inverter and assign strings on the racks or trackers to the central

inverter.

2. Come back to the Define components -> Inverter blocks task.

3. Add a new inverter block and select the layout region from a list of available layout regions to

use as its template.

4. Go back to the Lay out plant -> Design layout task, add a new layout region and add

instances of the inverter block (either individually or using auto-fill).

5.6.1 Adding Inverter Blocks

Click on the ‘Add new’ button to add a new inverter block. A panel appears (shown below) listing all the

suitable layout regions from all the site layouts in the workbook that can be used as an inverter block

template.

SolarFarmer User Guide Page 17 of 77

Click on the different rows in the table to select that layout region. A summary of its statistics and a

visualisation of the contents is shown to help you pick the right one.

Not all layout regions can be used as inverter block templates. Only those that meet the following

criteria:

• It cannot be empty (it must contain some racks or trackers)

• All the assigned strings must be connected to one central inverter

• The central inverter must not have strings in any other layout region.

• For racks – the azimuth of the layout region must be 0 or 180 (racks must be horizontal)

• For trackers – the system rotation must be 0 (trackers must be vertical).

It will construct a rectangular shape from the layout region (so they tessellate correctly) – so make your

template layout regions rectangular.

Once you have selected the layout region you want, click the ‘Use selected layout region’ button to finish

creating the inverter block. It now shows a visualisation of the inverter block and its statistics:

SolarFarmer User Guide Page 18 of 77

The inverter block is now available in the Lay out plant -> Design layout task to be added to other

layout regions.

5.7 Transformers

This task allows you to define the transformer specifications that will be used in your site.

There are only a few properties to define. A chart updates to show you the transformer performance

depending on the values of the properties.

TIP: You can also choose to export the transformer specification values to a file (*.TransformerSpec).

This is a proprietary SolarFarmer format and can be imported into other SolarFarmer workbooks.

SolarFarmer User Guide Page 19 of 77

6 LAY OUT PLANT

6.1 Design Layout

This task is one of the bigger and more time-consuming tasks.

Here is a brief overview of the order of tasks that need to be completed (explained in detail below):

1. Add/specify site layout (choose fixed-tilt racks or single-axis trackers)

2. Add and populate layout regions (the areas in which racks/trackers will be placed)

a. Define their area (using polygon or rectangle)

b. Set the parameters (azimuth, tilt, etc.)

c. Set the row spacings (the pitch of the rows)

d. Add exclusion regions (areas within layout regions where racks/trackers aren’t allowed)

e. Add racks/trackers

i. Autofill – then add individually

ii. Select, delete, align, move

f. Add inverter blocks as an alternative to racks/trackers

3. Add transformers

4. Add central inverters

a. Then assign strings to central inverters

5. Or add string inverters

6.1.1 Site Layouts

A site layout defines the instances of all the library objects you have previously added, laid out

geographically over the site area. Each workbook has at least one site layout but you may define

several. When the energy yield calculation is run you must choose only one of the site layouts.

The site layouts in a workbook are accessed (and changed) using the ‘Site layouts’ panel that appears in

the bottom left corner of the ‘Lay out plant -> Design layout’ task:

SolarFarmer User Guide Page 20 of 77

6.1.1.1 Adding a New Site Layout

You can add a new site layout by pressing the ‘Add’ button in the Site Layouts panel. When you add a

new site layout, or the first time you use the default site layout in the workbook, you must choose

whether to work with fixed-tilt racks or single-axis trackers. You cannot mix racks and trackers in the

same site layout.

6.1.1.2 Cloning an Existing Site Layout

If you wish to make an exact copy of an existing site layout (you may then want to slightly modify this

copy) select the site layout you wish to clone, then press the ‘Clone’ button in the Site Layouts panel. A

new site layout will be created that will be an exact copy of the selected site layout.

6.1.1.3 Exporting a Site Layout to Google Earth

You can export the 3D racks or trackers to a Google Earth *.kmz file for viewing in Google Earth. Press

the ‘KMZ’ button in the Site Layouts panel to do this.

6.1.1.4 Generic Layout

You can lay out sites using parameters (rather than draw them out by hand) using the generic layout

functionality. Access this using the ‘Specify…’ button in the Site Layouts panel. See section 6.1.10 for

more details on how to use this.

6.1.2 Layout Regions

For simplicity, the explanations below assume you are laying out a site containing fixed-tilt racks. Most

things are equally applicable to trackers – though trackers tend to be North/South aligned rather than

West/East aligned.

Racks cannot be placed randomly in a site. We define layout regions that will contain rows of racks. The

racks inside a layout region have many of the same properties (azimuth, tilt, rack system). If you wish

to have racks with different properties you must create a separate layout region for these.

6.1.2.1 Adding New Layout Regions

To add a new layout region, click on one of the Layout Region map tools (highlighted in red below):

When adding a polygonal layout region, click to add a new point at each vertex of the required polygon

around the area. For a rectangular layout region, click and drag to delineate the rectangle.

SolarFarmer User Guide Page 21 of 77

TIP: You can also import layout regions from polygonal objects in Shapefiles. Click on the ‘Import…’

button in the Layout Regions tab in the lower panel (highlighted in red below):

Select a Shapefile, select which polygons you wish to import and click ‘Import’.

6.1.2.2 Editing the Shape of Layout Regions

You can edit the shape of a previously added layout region by using the Edit Boundary map tool

(highlighted in red below):

Once selected, click on a layout region to put it in edit mode. You can move (click and drag) existing

points, delete (using the Delete or Backspace keyboard key) existing points, or insert additional points

(click on a boundary line) to the polygon boundaries.

6.1.2.3 Layout region parameters

Each layout region is listed in the table in the Layout Regions tab in the bottom panel.

Rack Layout Parameters:

Azimuth Angle from due North that the tilted racks face (in degrees). 0° means they face due North (typical for southern hemisphere sites) 180° means they face due South (typical for northern hemisphere sites)

Tilt Elevation angle from the horizontal that the racks are tilted (in degrees).

Uc The constant heat transfer component (W/m2K) in this layout region.

Uv The convective heat transfer component (W/m3sK) in this layout region.

Rack System The rack system to use – rack specifications from this family of rack sizes will be used to

populate this layout region.

Shade factor Accounts for shade obstacles like junction boxes and support structures (-100% to 0%).

(Only visible when using bifacial modules).

Transmission factor

Accounts for a fraction of light that reaches the back side due to spaces between modules and racks or transparent sections of the modules and racks (-10% to +10%).

(Only visible when using bifacial modules).

SolarFarmer User Guide Page 22 of 77

Mismatch factor

Accounts for non-uniform backside irradiance (-100% to 0%). (Only visible when using bifacial modules).

Auto fill If this is checked, when a rack system has been selected for this layout region, racks will automatically be laid out along the row positions (dotted row lines). When you edit the layout region boundary, racks will automatically be added/removed to fill the layout region.

If this is not checked, even when you edit the layout region boundary, all existing racks will remain in place - preserving any manual edits you may have made.

Tracker Layout Parameters:

All trackers in a layout region must currently lie on the same plane – the system plane. This is because

the current algorithm for determining the tracker positions assumes they are in the same plane.

Generally trackers are used in flatter sites so this isn’t too much of an issue. Each layout region can

have a different system plane.

When you lay out a layout region for trackers, a system plane is automatically calculated; it tries to find

a best-fit for the underlying terrain that the layout region covers. The system plane is defined by an

azimuth and tilt value. You can manually edit these values – though they may adversely affect the axis

tilt (the tilt from the horizontal along the length of the tracker axis) or the side slope angle (the angle

that subsequent rows of trackers are to their neighbours). If the values are outside acceptable ranges, a

validation error will be given.

System Rotation

Angle from due North that the trackers lie down (in degrees). 0° means they line up along the North/South axis (generally typical).

Uc The constant heat transfer component (W/m2K) for the modules in this layout region.

Uv The convective heat transfer component (W/m3sK) for the modules in this layout region.

Default Aisle Width

The distance (in metres) between each tracker along the direction of the axis.

System Plane Azimuth

The azimuth angle (in degrees) used to define the system plane (see above). This is auto-calculated for you – you can modify the value.

System Plane Tilt

The tilt angle (in degrees) used to define the system plane (see above). This is auto-calculated for you – you can modify the value.

System Plane Validity

(Read-only) An indication that the system plane defined by the azimuth and tilt angles is within acceptable ranges.

Axis Tilt (Read-only) The tilt from the horizontal along the length of the tracker axis (in degrees).

Side Slope (Read-only) The angle from the horizontal that a line of trackers is from its neighbour (in degrees).

Tracker System

The tracker system to use – tracker instances from this family of tracker sizes will be used to populate this layout region.

Shade factor Accounts for shade obstacles like junction boxes and support structures (-100% to 0%). (Only visible when using bifacial modules).

Transmission Accounts for a fraction of light that reaches the back side due to spaces between

SolarFarmer User Guide Page 23 of 77

factor modules and trackers or transparent sections of the modules and trackers (-10% to +10%). (Only visible when using bifacial modules).

Mismatch factor

Accounts for non-uniform backside irradiance (-100% to 0%). (Only visible when using bifacial modules).

Auto fill If this is checked, when a tracker system has been selected for this layout region, trackers will automatically be laid out along the row positions (dotted row lines). When you edit the layout region boundary, trackers will automatically be added/removed to fill the layout region.

If this is not checked, even when you edit the layout region boundary, all existing trackers will remain in place - preserving any manual edits you may have made.

6.1.2.4 Editing Row Spacings

When you add a layout region you will see dotted lines filling the region. These are the rows that racks

can potentially be placed on.

Ensure that the dotted lines run exactly in the direction you wish (maybe you’re using an image to help

guide you for the lay out process). Modify the Azimuth (or System Rotation) layout region parameter to

get the dotted lines running in exactly the right direction.

To modify the spacing and position of the rows use the ‘Edit Lines’ tool in the map toolbar (highlighted in

red below):

One (or more) of the dotted lines will be coloured red. This is an anchor row. When in Edit Lines mode

you can click and drag the anchor rows to change its position. There will be a blue dotted line below

each anchor row. Dragging the blue dotted line changes the pitch (distance between) of all the rows

below the anchor row. The pitch will be the distance between the red and blue lines.

You can have multiple pitches in the same layout region. You just need to make a dotted line into an

anchor row. In Edit Lines mode right-click on a dotted line and choose ‘Make Anchor’ from the popup

menu. It will become a red anchor row and you can set the pitch of the rows below it separately.

Next to the table of layout regions there is additional row spacing properties for the selected layout

region. Each separate area with different pitches are represented. You can manually alter the offset

value (distance in metres from the top of the layout region) and the pitch value (in metres) should you

wish.

6.1.2.5 Defining exclusion regions

You may wish to delineate areas (such as roads or geographical features such as ponds or marshland)

where you don’t want racks or trackers to be placed. A simple way to do this is to add exclusion regions.

Select the ‘Exclusion Region’ map tool (highlighted in red below):

Draw out a polygon defining the exclusion region and when racks are being added they are prohibited

from being placed in exclusion regions.

SolarFarmer User Guide Page 24 of 77

6.1.2.6 Adding racks and trackers

Once you are happy with the row positions in the layout region you can choose a rack system (or tracker

system) to use in the layout region. Assuming you have already defined a rack system, double-click the

drop-down and select the rack system you wish to use. If Auto fill is checked, the layout region will

automatically fill, laying out racks from one end along the row positions - starting with the longest rack

size and using smaller racks towards the end of rows.

Selecting Racks

Once auto-layout has finished you can select existing racks. Use the Select map tool (highlighted in red

below) to select individual racks:

TIP: Hold down the CTRL keyboard key to accumulate selected racks (otherwise previous selections are

lost). Host down the SHIFT keyboard key to select adjacent racks together.

You can also select multiple racks within a polygon by using the ‘Select racks within a polygon’ map tool

(highlighted in red below):

Define a polygon as before. Any racks that are fully or partially included in the polygon will be selected.

Deleting and Aligning Racks

Once you have selected some racks, a popup yellow menu will appear:

From this menu you can delete the selected racks, align them (in the direction of the icon on the button)

or clear the selection.

Moving Racks

Move racks by clicking and dragging selected racks. A ‘ghost’ rack will appear where the mouse cursor is.

This shows where you are trying to position the rack. A more solid rack will appear on the nearest

dotted row line where the rack will end up if you release the left mouse button.

If you drag a rack next to an existing rack it will glow green for a while. This means it will snap to be

right next to the existing rack. If you drag a rack into a place it won’t fit, its ghost rack will be red and

no solid rack will be shown.

Adding Individual Racks

To add new single racks to a layout region use the ‘Add a single rack’ map tool (highlighted in red below):

SolarFarmer User Guide Page 25 of 77

A yellow popup menu will appear with the different rack specifications (sizes) available in the rack

system of the currently selected layout region.

Select a rack specification (size) to add (use the keyboard key 1, 2 etc to select it too). Then left-click

on a dotted line row in a layout boundary. A new rack will be added and appear. Drag to move it to the

required position and release the left mouse button to drop it there.

Click, drag and release to keep adding more single racks.

6.1.3 Adding Transformers

To add a new transformer to the site, click on the ‘Add Transformer’ map tool (highlighted in red below):

A yellow popup menu appears allowing you to choose the transformer type to add (from your previously

defined transformer specifications):

Then click on the map to add a transformer instance of the type you selected. No physical object (that

shades modules, for example) is added to the site - it is just a placeholder for the transformer.

The transformer instances appear in a table in the Transformers tab in the lower pane of the screen:

6.1.4 Adding Central Inverters

To add a central inverter to the site, click on the ‘Central Inverter’ map tool (highlighted in red below):

A yellow popup menu appears allowing you to specify the inverter type to add, along with the module

type to use with this inverter, some collection effect values and which transformer instance to add any

added strings to.

SolarFarmer User Guide Page 26 of 77

Then click on the map to add a central inverter instance. No physical object (that may provide shading)

is added to the site – it is just a placeholder for the central inverter.

The inverters appear in a table in the Inverters tab in the lower pane of the screen. Note the string

length is set to be the default string length you defined in the ‘String Length’ task screen. You can

change the string length in this table:

6.1.5 Assigning Strings to Central Inverters

So far you have just added and positioned empty racks along the row positions. There are no actual

strings of modules on the racks. This step is now done using the ‘Assign strings within boundary to

inverter’ map tool (highlighted in red below):

A yellow popup menu will appear:

Inverter Input The central inverter input (as an inverter may have more than one input) you wish to create strings for.

String pattern The string pattern – one of: • Straight strings – strings are laid straight along the rack

• Snaking strings – strings snake up and down along the rack

• C at top then straight – strings form a C or U pattern along the top 2 rows of a

rack, then straight for the remaining rows of the rack.

Span up to # racks

The strings can span across multiple racks. You can specify the maximum number of racks they can span here.

Set this to 1 if you don’t want them to be able to span between racks.

SolarFarmer User Guide Page 27 of 77

Max span distance

If strings can span across multiple racks, this is the maximum physical distance between racks that spanning is allowed. If the distance is greater than this value then the spanning won’t occur.

Now define a polygon in the map surrounding the racks that you wish to assign strings to. Strings and

modules will be laid out on the racks using the string length defined for that inverter input (in the table

in the Inverters tab in the lower pane). String colours on the map match the colour of the inverter

instance they are connected with.

Zoom into the map to see the detail of the strings and modules:

You can also see the string and module detail in 3D view:

Any grey regions of racks are spaces where strings of the defined string length could not exactly fit.

6.1.6 Adding String Inverters

Some sites use string inverters rather than central inverters. These tend to be smaller and more

numerous, often several string inverters per row. Rather than get the user to add this many string

inverters by hand, they are created and added automatically.

To do this, choose the ‘Assign strings within boundary to inverter’ map tool (highlighted in red below):

SolarFarmer User Guide Page 28 of 77

This time change the drop-down on the far left of the yellow popup menu that appears to ‘Place string

inverters’:

Various options are presented to help you define how exactly the string inverters will be specified and

created.

String pattern The string pattern – one of: • Straight strings – strings are laid straight along the rack

• Snaking strings – strings snake up and down along the rack

• C at top then straight – strings form a C or U pattern along the top 2 rows of a

rack, then straight for the remaining rows of the rack.

Name prefix The prefix to the name given to newly created string inverters.

Name convention

The naming numbering convention to use. One of 2 options:

• Numbers (1, 2, 3) – simply uses a number, starting from 1, counting up

E.g. will produce Inv_1, Inv_2, Inv_3, Inv_4, …

• Letters (A, B, C) – uses letters, starting from A, counting up

E.g. will produce Inv_A, Inv_B, Inv_C, …, Inv_Y, Inv_Z, Inv_AA, Inv_AB, …

Name suffix The suffix to the name given to newly created string inverters (optional)

DC coll effect The DC collection effect (%)

AC coll effect The AC collection effect (%)

Add to transformer

The transformer instance to add these string inverters to.

Span up to # racks

The strings can span across multiple racks. You can specify the maximum number of racks they can span here. Set this to 1 if you don’t want them to be able to span between racks.

SolarFarmer User Guide Page 29 of 77

Max span distance

If strings can span across multiple racks, this is the maximum physical distance between racks that spanning is allowed. If the distance is greater than this value then the spanning won’t occur.

You can then choose string lay out behaviour that is the same for all rack templates (sizes) for the

selected racks or specify slightly different settings (e.g. string length) depending on the specific rack

specifications.

Inverter type The type of the newly added string inverter (from your library of inverter specifications).

Inverter input (Read-only) The different inverter inputs defined by your inverter specification. When creating and adding string inverters and strings, it creates a string inverter,

filling its inputs up in order by the number of strings and string lengths you define

(below).

PV module type The module specification to use for the newly created strings for this inverter input.

String length The string length to use for the newly created strings for this inverter input.

# strings per input

The number of strings to create for this inverter input.

To create string inverters and assign strings to them define a polygon in the map surrounding the racks

that you wish to assign strings to. String inverters, strings and modules will be laid out on the racks

using the parameters have you defined.

All the string inverters are added to the table in the Inverters tab in the lower panel and there is also a

representation of them as coloured squares at the top-left of each row (which are selectable):

6.1.7 Formatting Inverter Blocks

6.1.7.1 The Format Layout Region Dialog

To help you create layout regions suitable for inverter blocks there is the Format Layout Region dialog.

To use this dialog - in the Layout Regions tab, select the layout region you wish to format and click on

the ‘Format…’ button:

SolarFarmer User Guide Page 30 of 77

The ‘Format Layout Region’ dialog appears that allows you to set several properties of the layout region.

This dialog can also be used to format non-inverter block regions - though it will completely change the

layout region’s shape and content so make sure this is something you wish to do.

The Setup tab:

• Its rectangular size (it forces it to be rectangular)

o Specify the number of rows and columns of racks or trackers

o Or specify the absolute size across and down (in metres)

o Or specify the DC/AC ratio. This calculates the number of strings with the selected

inverter and module specifications – assuming you are also adding a central inverter and

allocates the appropriate number of racks or trackers.

• The track or tracker system to use when adding racks or trackers.

• The pitch value.

• The tilt value (for rack layout regions)

• Add a central inverter and automatically assign strings

o The inverter specification to use

SolarFarmer User Guide Page 31 of 77

o The module specification to use

o The string length

o The string pattern

The Inverter tab:

• Set the position of the central inverter relative to the rectangular layout region

The Roads tab:

• Set the inclusion of a vertical and/or horizontal road in the layout region.

o Specify the road width and the position of its centre line.

SolarFarmer User Guide Page 32 of 77

The Margins tab:

• Set the margins from the edges of the layout region to the racks or trackers within.

Click on the ‘Apply’ button (or press the Return keyboard key) to apply the current parameters to the

currently selected layout region. It will update for you to see.

6.1.7.2 Formatting inverter blocks using scripting

The functionality available in the Format Layout Region dialog above is also available via scripting via

functions on the LayoutBoundary class.

See Appendix Appendix AD.2 for more detailed information on using scripting to format layout regions

for inverter blocks.

6.1.8 Adding Inverter Blocks to a Layout Region

Once you have defined one or more inverter blocks in the Design components -> Inverter blocks

task you can add instances of them in a layout region.

Click on the ‘Add inverter block’ button in the map toolbar (highlighted in red below):

SolarFarmer User Guide Page 33 of 77

6.1.8.1 Adding individual inverter blocks

Select the ‘Add individual inverter block’ option to add individual inverter blocks. Select the inverter

block type to add and the transformer to add its central inverter to (add a new transformer if needs be).

Then just left-click the mouse in a layout region (setting the offset of the layout region’s first row

spacing to a large value will hide the dotted row lines). A blue rectangle representing the inverter block

will appear – drag it to the desired location and release the mouse button:

If the rectangle being dragged turns red, it means it is an invalid position (usually over the layout

region’s edge or intersecting with an exclusion region or other inverter block).

6.1.8.2 Auto-fill with inverter blocks

Use the auto-fill option if you wish to fill a large layout region with multiple inverter blocks, all in a

regular grid.

Select the inverter block type and transformer to add to, then:

1. Left-click in the layout region (on the background – not on an existing inverter block).

2. Keep the mouse button pressed and move the mouse. The grid will move with the mouse

cursor – filling the layout region as best it can, dynamically removing any inverter blocks that

would be invalid (if they overlap with the layout region edge or an exclusion region).

3. Release the left mouse button when you are happy with the grid shown (or press the Escape

keyboard key to cancel).

SolarFarmer User Guide Page 34 of 77

Changing the map to 3D mode will show the actual racks or trackers within the inverter blocks:

SolarFarmer User Guide Page 35 of 77

6.1.9 Site Statistics Dialog

As you lay out the components in a site it is useful to keep track of the number of the different

components and other useful statistics. Click on the ‘Site Statistics’ button (highlighted in red below) in

the quick access toolbar (top left of the application window):

The Site Statistics dialog is then shown and is updated in real-time as you add/remove components in

the lay out task.

6.1.10 Generic Layout

The generic layout functionality in SolarFarmer allows you to create a site layout (create one layout

region or use existing layout regions), fill this with racks or trackers and automatically add modules and

strings to automatically created central inverters. By specifying several parameters, you can quickly

produce several sites with slightly different properties (e.g. pitch, tilt, module specification).

SolarFarmer User Guide Page 36 of 77

6.1.10.1 Using the UI

In the ‘Lay out plant -> Design layout’ task, in the ‘Site Layouts’ panel in the bottom left, click the

‘Specify…’ button to launch the Specify Site Layout dialog. The generic layout functionality is controlled

from here:

The functionality is described in section 6.1.10.3 below.

6.1.10.2 Using Scripting

You can also employ the generic layout functionality using scripting. In fact, using scripting harnesses

its power enabling you to quickly generate multiple site layouts using parameter sweeps, creating

potential site layouts to use for optimisation purposes.

See section Appendix AD.3 for more details on using scripting for generic layout.

6.1.10.3 Generic Layout Functionality in Depth

There are 3 generic layout commands that you can use:

Update current site

layout

Uses the generic layout settings to update the current (visible) site layout.

This will delete all existing racks/trackers and inverters so be careful.

This is useful to experiment with various setting options.

Create new site layout

from empty

Creates a completely new site layout; populating it from the settings you

provide.

Optionally choose to add a transformer instance to assign the newly created

central inverters to.

SolarFarmer User Guide Page 37 of 77

Create new site layout

from existing

Creates a new site layout based on an existing one that you specify. It will

discard any racks/trackers and inverters but retain everything else.

The availability of the three options depends on the combination of the generic layout settings you select.

The settings consist of an area limitation, electrical limitation and a fill option to use with the area

limitation.

Area Limitation Options

Limit to all layout

regions

• Uses existing layout regions in the current site layout to fill.

• It will remove all existing racks/trackers and attempt to add and fill rows in these layout regions.

• It will stop adding racks/trackers when there is no more room, or when the electrical limitation is reached (if specified).

No limits • Deletes all existing layout regions and creates a new rectangular

layout region centred on the site location. This new layout region can expand infinitely.

• It will stop adding racks/trackers only when the electrical limitation is

reached.

Limit by area • Deletes all existing layout regions and creates a new rectangular

layout region centred on the site location.

• It will stop adding racks/trackers to this new layout region when the area limit is reached or when the electrical limitation is reached (if specified).

Electrical Limitation Options

None • No electrical limitation is considered. It will use the area limitation

option to define the size of the site.

Max AC Capacity • It will add inverters and strings to the available racks/trackers until

the specified maximum AC capacity of the site (in MW) is reached.

DC System Size • It will add inverters and strings to the available racks/trackers until

the specified DC system size of the site (in MW) is reached.

Fill Options

The fill option is used to fill the layout regions. Currently only one fill option can be used for the whole

site. Future-plans include using different fill options for different layout regions.

SolarFarmer User Guide Page 38 of 77

There are 2 options: Use Individual Components or Use Inverter Blocks.

Use Individual Components

First, select the components to use in the layout:

Settings like the inverter specification, module specification, the string size to use, the DC/AC ratio and

the string pattern are chosen. It automatically calculates the number of strings per inverter input from

the settings you choose. It also displays the statistics for one inverter to help with sizing.

Then choose the how to lay out these components (and if racks or trackers). This can be one of 3

options:

1. Fixed-tilt racks:

SolarFarmer User Guide Page 39 of 77

2. Single-axis trackers:

3. Use existing racks/trackers:

Using this option does not delete any existing racks/trackers from the layout but uses those

already there. This way you can manually place and move the racks/trackers and keep their

positions when using the generic layout functionality. You have the option of removing any

empty racks/trackers after adding strings and modules. Though these will be permanently

deleted so be careful with this option.

The UI displays some ‘Desired site layout statistics’ and ‘Actual site layout statistics’:

The ‘desired’ statistics are updated as you update the settings (the current limitations and fill option).

The ‘actual’ statistics are updated after you run one of the generic layout commands and may not reflect

the desired due to area limitations (either not enough space in existing layout regions, or there is an

area limit).

Note: The actual layout of the strings and inverters is simple at the moment - i.e. it starts at the top and

works down. This is not ideal and will be improved in future implementations.

Use Inverter Blocks

Instead of using individual components you can choose to fill the layout regions with inverter blocks.

With this option choose the inverter block specification to use to fill the layout region:

SolarFarmer User Guide Page 40 of 77

Future implementations may allow you to choose several inverter block specifications and fill using a

priority order.

6.2 Electrical Configuration

This task allows you to connect inverters and inverter blocks to transformers in the layout.

If, when adding inverters or inverter blocks you selected a transformer to connect them to, they will

already be connected. However, if this wasn’t in place the inverters/inverter blocks will not be connected

to a transformer and they must be connected for the energy yield calculation to run.

You will see a tree control in the left pane of the Electrical Configuration screen. Simply drag and drop

one (or more) inverters or inverter blocks onto their parent transformer to connect them together.

6.3 Review Trackers

This task allows you to view the tracker behaviour at different days and times. You can see the tilt of

the trackers throughout the day and see the effect of turning backtracking on or off. It obviously only

has effect for single-axis tracker layouts. No effect is seen for fixed-tilt rack layouts.

Change the map to 3D mode. Then modify the date and time using the controls on the left:

SolarFarmer User Guide Page 41 of 77

The sun position is calculated and the in-built tracker algorithm is run to calculate the tilt of each of the

trackers in the layout. These are then displayed in real-time in the 3D view. The tilt angles of the

trackers depend on the angle of the sun, the pitch (distance between the rows of trackers) and whether

backtracking is turned on or not (in the tracker system specification).

For a single day, click and hold your mouse cursor to the right (or left) of the slider control. This has the

effect of moving the time by 10 minutes to give a simple animation throughout the day.

6.4 Review Shading

This task allows you to review the shadows cast by shading obstacles, undulating terrain and rows of

modules on the modules in your site layout.

This may take a while to calculate – make sure that shading points setup is set to ‘One per module’ and

the diffuse shading scheme is set to ‘Per module’ and hit the ‘Run Shading Calculation’ button.

Once the calculation has completed, switch the map to 3D view to see the results. The controls on the

left allow you to change the day of the year and the time of day. The time control shows an indication of

sunrise and sunset to help you gauge when the sun is up.

By default it will show direct lighting. Modules in direct sunlight are shaded pure white. Modules in

shadow are shaded in dark grey:

SolarFarmer User Guide Page 42 of 77

You can change to see the diffuse shading on the modules instead:

SolarFarmer User Guide Page 43 of 77

7 CALCULATE ENERGY

This chapter is about setting up and running the energy yield calculation. All the setup you have done so

far leads to this section.

7.1 Setup Yield Calculation Layout and Resources

Select the layout and resources to use in the calculation. If you have imported multiple solar resources or horizon files, you can choose only one of them here.

Soiling Effects Specify soiling effects (losses due to soiling) either by month or as an overall percentage.

Shading Settings Specify the number of shading target points per module. The more per module the more accurate the shading algorithm is, but the longer the calculation takes. ‘Five per submodule’ has been shown to be accurate without taking too long.

‘Per module’ is fine for the diffuse shading scheme.

Disable Models To speed up the calculation (though reduce its accuracy) you can disable parts of the calculation. This is useful for testing and validation purposes but generally best

not to disable anything. • Diffuse transposition model – calculation of the incident irradiance on a

tilted plane from the horizontal irradiance data (Hay or Perez models available).

• IAM model (Incidence Angle Modifier) – describes how much of the irradiance incident on the module’s surface penetrates and enters the cells.

• Near shading model – shading due to obstacles and near terrain.

• Cell temperature model – modelled using the PVsyst cell temperature model (Faiman model, includes wind speed dependency).

• Spectral model – the percentage increase/decrease in module output power resulting from the incident light spectrum.

• Bifacial model – if bifacial modules have been used in the site layout the bifacial model will be used (currently only in the simple model for fixed-tilt

racks). This can be disabled here.

Electrical Effects A couple of effects (gains or losses) that are set for the whole calculation:

• Module mismatch – losses due to variation in module performance.

• Grid availability – losses due to the electrical grid to which the PV plant is

connected is not available to accept power, meaning the PV plant must shut down and will not be able to generate.

Bin Widths The energy yield calculation groups (bins) similar oriented racks and trackers together to optimise the calculation. The bin widths are a way to control the resolution of this binning. The smaller the values, the fewer racks per group, which means a slightly longer calculation time.

If unsure, a default of 0.5 for both are fine. Though smaller values (e.g. 0.01) lead to more accurate results.

SolarFarmer User Guide Page 44 of 77

Cell Temperature Model Parameters

These parameters are used to control the cell temperature model. • Wind speed – if the solar resource data does not include a wind speed

value, you can set a constant wind speed for the site here. • Irradiance type – choose to ignore or apply the module adsorption

coefficient.

Diffuse

Transposition Model

Choose either the Perez or Hay model for the diffuse transposition model (the

calculation of the incident irradiance on a tilted plane from the horizontal irradiance data).

Emulate PVsyst Comparisons of results from PVsyst and SolarFarmer models have revealed a couple of areas where we think we know what PVsyst is doing but don’t agree with. Validating SolarFarmer against PVsyst is desirable, but if we choose slightly different models or behaviour to how PVsyst works, the validation against PVsyst becomes difficult. We cannot change PVsyst’s behaviour but also do not wish to adopt calculations in SolarFarmer that we consider incorrect.

Check this box to choose PVsyst behaviour for the calculation areas where SolarFarmer and PVsyst differ slightly.

Use explicit solver Use an explicit module performance solver. The performance of the performance solver part of the calculation may be marginally quicker if this is checked. But it is recommended to keep this unchecked for now – it may be removed in a later release.

7.1.1 Simple Model vs Full Model

There are two model options when running the energy yield calculations.

1. The Full Model

This is the full shading model. The location and orientation of all PV modules is considered,

along with accurate shading from other modules, shading obstacles and terrain. This takes

longer to complete than the Simple Model but is the most accurate and is the recommended

model to use, particularly for complex terrain.

2. The Simple Model

This is a much-simplified model based on the PVsyst sheds model. Shortcuts and assumptions

are made that speed up the calculation by a large factor, but the results are not as accurate as

the Full Model, as undulating terrain and complex shading are not taken into account. It

assumes a horizontal terrain. Use this when first setting up a site when accuracy isn’t too

important. Switch to the Full Model once you are happy with all the parameters and settings.

7.1.2 Performance Statistics

When you run the energy yield calculation from the user interface, if you expand the Performance

Statistics panel you can see time and memory performance statistics get updated. This is more of a

diagnostic tool for developers, but you may find it interesting and it could be useful if you were to report

a bug or feedback about the software.

7.2 Yield Results

Once the energy yield calculation has completed the annual and monthly yield results are available.

There are tables for annual and monthly values. The results are not stored in the workbook, so you

would need to rerun the calculation to see the results when you reopen an existing workbook.

You can export these results to a *.csv file using the button in the top-left of the screen.

SolarFarmer User Guide Page 45 of 77

7.3 Effects Diagram

Once the energy yield calculation has completed, the effects (gains and losses) are shown in the effects

diagram.

It is split into 4 sections:

Irradiance (sun → module) Gains and losses of irradiance values due to tilt, horizon, shading etc

Conversion (module → inverter) Gains and losses due to temperature, module and electrical mismatch, etc.

Inverter (inverter → transformer) Gains and losses due to inverter efficiencies, etc.

Collection (transformer → grid) Gains and losses due to transformer losses and grid availability

The coloured sections go in/out depending on the size of the loss or gain to give you a visual

representation of the values to help identify large changes.

SolarFarmer User Guide Page 46 of 77

8 CREATE REPORT

8.1 Create Report

Once you have run an energy yield calculation, or if you want to create a report of the workbook settings,

you can do this here.

This exports all the workbook settings to an XML file. Not directly usable by SolarFarmer but it may be used by other developers to compare contents of different

workbooks.

This creates a Word document (using a built-in template) of all the workbook settings.

It does not include any energy yield calculation results.

This creates a Word document (using a built-in template) of all the workbook settings and the energy yield calculation results (tables and effects diagram).

This option is only available when an energy yield calculation has been run.

SolarFarmer User Guide Page 47 of 77

9 MISCELLANEOUS

9.1 Scripting

Scripting functionality is available in SolarFarmer, albeit slightly limited at the moment. This allows you

to write scripts in the C# programming language that update parameters in the workbook and

execute certain functionality, such as running calculations.

To launch the script editor click on the ‘Script Editor’ button in the Quick Access Toolbar in the left of the

application’s title bar (highlighted in red below):

The Script Editor allows you to write and run simple scripts. You can create multiple scripts that are

saved in the current workbook.

There isn’t a comprehensive reference document yet for what is available in scripting. You can discover

what is available by using the built-in intellisense functionality. When you type a variable and press the

‘.’ keyboard key, the list of available properties shows in a popup menu. Choose one of the available

properties (with the mouse or arrow keyboard keys) and press Return to add that property.

9.1.1 ‘Workbook’ for accessing the workbook settings

There is an object called Workbook (of type Workbook) that you can use to access the properties of the

current workbook. Use the intellisense to navigate the various properties and sub-properties.

SolarFarmer User Guide Page 48 of 77

9.1.2 ‘Toolbox’ for accessing the calculation toolbox

There is an object called Toolbox (of type Toolbox) that you can use to access various functions for

working with the workbook. Most notably ExecuteEnergyCalculation.

Use Toolbox.Log() to write text to the output panel. Useful for viewing the values of variables.

9.1.3 Scripting in Future

The scripting functionality will be extended in future, with more comprehensive coverage of the

workbook parameters and a reference guide. Please email the SolarFarmer support email if you have

specific requests or need more guidance.

9.2 Automatic results export

When you run an energy calculation, detailed results files are automatically written to file in a “Testing”

folder next to the workbook. Most of the results will be overwritten every time the calculation is run.

This behaviour will be reviewed and may change in future versions.

SolarFarmer User Guide Page 49 of 77

10 USEFUL HINTS AND TIPS

10.1 Working with the Map

The map control (generally on the right-hand side of the different task screens) is fundamental to the

usage of SolarFarmer and is worth getting to know.

10.1.1 Map Toolbar

The map toolbar is always present and it’s good to get to know the tools. The following tools are present

in all the task screens:

Select Select individual objects on the map (such as inverters and layout regions). Press the CTRL keyboard key to select multiple objects.

Pan & Zoom Left-click and drag to pan the map.

Use the mouse-wheel to zoom in and out.

Ruler

Left-click once to set one end of a ruler. Move the mouse and left-click to set the other end. The distance (in metres) is shown on the ruler line. Right-click to clear the current ruler.

Elevation Profile Tool

Shows the profile of terrain elevation between two points. See Section 10.1.4 for a more detailed explanation of how to use this.

Zoom in Instantly zoom in by a fixed amount.

Zoom out Instantly zoom out by a fixed amount.

Zoom to extents Zoom the map to the full extents of all objects in the workbook (not including

background imagery and elevation data)

Zoom to extents of selected items

Zoom the map to the full extents of all selected objects in the workbook.

Other tools will appear depending on the current task. The Design Layout task has quite a few!

10.1.2 Map Layers

The map is made up of several layers, each responsible for displaying different types of data of the PV

plant. You can turn layers on and off and change their opacity to help you to visualise the data better.

The Layers panel is usually minimized in the top-right of the map area:

SolarFarmer User Guide Page 50 of 77

Just click it to open the Layers panel. It lists the currently available layers (not all are available all the

time – depending on the data you have added to your workbook).

Click the eye icon ( ) to toggle a layer’s visibility (the icon becomes when the layer is invisible).

Click the tag icon ( ) to toggle the visibility of the labels on a layer (the icon becomes when the

labels are invisible).

Select a layer and slide the Opacity slider (at the top) to change the layer’s opacity. 0% means it is

fully transparent and thus invisible. 100% means it is fully opaque and you won’t see any other layers

below.

Clicking on the triangular arrow buttons on the right move selected layers up or down. The layers

are rendered bottom-up, so any layers near the top will be rendered last and thus ‘on-top’ of the others.

Generally big layers that take up the whole area (such as background imagery and elevation grids) are

at the bottom so that smaller objects (such as inverters and shading objects) are visible on top of them.

There is a Legend area that becomes visible and available when certain map layers are selected.

Important for the Elevation Grids map layer to change the colour scheme from a range of options.

10.1.3 3D Mode

The map has a 3D mode to enable you to see the terrain and objects in 3D, to help visualise the site

closer to as it will be in real life.

Click on the ‘3D’ button at the top of the map area to switch the view to 3D.

SolarFarmer User Guide Page 51 of 77

Note that only the area that is currently visible in the 2D map will be portrayed in 3D.

See for example a close-up of the city of Bristol, UK below. When you switch to 3D only the 3D terrain

in that close-up area will be visible in 3D. It takes a screenshot of whatever layers are visible in 2D

mode to drape over the terrain:

If you go back to 2D mode (press the ‘2D’ button at the top of the map) and zoom out. Then go back to 3D view, you will see that a wider area is now portrayed in 3D:

SolarFarmer User Guide Page 52 of 77

Click on the Help question mark button ( ) in the top-right of the 3D view to show mouse and keyboard

controls for working in the 3D view. It may take a while to get used to them.

The main useful one to know is to double-click with the left mouse button on the point you wish to rotate

around.

Changing the rendering mode to Wireframe can be useful to see individual modules and get a better feel

for the undulating terrain. Change the rendering mode with the drop-down in the top-left (or use the

keyboard shortcuts):

10.1.4 Elevation Profile Tool With this tool selected, left-click once to set one end of the profile line. As you move the mouse the profile slope updates on the chart below the map (that has appeared). The distance (in metres) between the start and end of the line is shown on the line in the map. Note that the chart series fills the available space, so the slopes may appear to be steeper/shallower than they are in real-life.

101 sample points are used along the line (so the distance between them depends on the length of the line), sampling the elevation at each point.

SolarFarmer User Guide Page 53 of 77

Left-click to set the other end of the profile line. Various statistics relating to the elevation profile are shown above the chart:

1. The total distance of the line (in metres) 2. The maximum uphill and downhill slopes (in percentages)

3. The average uphill and downhill slopes (in percentages) 4. The minimum, average and maximum elevation (in metres above sea-level) 5. The total elevation gain along the line (in metres) 6. The total elevation loss along the line (in metres) 7. The net elevation gain/loss from the start to the end of the line.

Hovering the mouse cursor over the chart gives you a tooltip containing the elevation and slope at that

point:

SolarFarmer User Guide Page 54 of 77

10.2 Export to PVsyst

The Export to PVsyst functionality allows you to use the setup and layout tools in SolarFarmer to create a

workbook, then export this to generate a PVsyst project. You can then import this project into PVsyst,

verify the settings/parameters and run the calculation via PVsyst. Though obviously you can run the

project in SolarFarmer too.

10.2.1 Important things to note before laying out a site

Fixed-tilt rack layouts are supported. These are 3D layouts in PVsyst,

including the ground terrain around the racks.

Single-axis tracker layouts are NOT currently supported

Inverter blocks are NOT currently supported

BEFORE laying out the site:

1. Make sure the horizontal spacing between racks is greater than 0. This defaults to 100m

which should be ok. Otherwise the racks can intersect in the PVsyst shading scene and it doesn’t

allow you to run the calculation.

Go to the ‘Define components -> Racks’ task and check the ‘Horizontal spacing between racks’

property:

2. Make sure that the inverter spec and module specs that you use come from imported PAN and OND

files.

SolarFarmer User Guide Page 55 of 77

These are stored in the SolarFarmer workbook and then exported directly to the PVsyst project. So

manual modifications to any module or inverter specification parameters are NOT currently exported

to PVsyst.

3. Make sure the strings fit exactly on one rack. Ideally using straight strings with no ‘folds’ in them.

This helps replicate the same in PVsyst.

4. The solar (met) data it exports is the one selected in the calculation settings (‘Calculate energy ->

Setup yield calculation’) page. If you import multiple solar resources in SolarFarmer, make sure

you choose the one you want exporting in the calculation settings.

5. The export targets PVsyst version 6.75.

10.2.2 Using the UI Dialog 1. Click on the ‘File -> Export to PVsyst…’ menu option

2. This launches the Export to PVsyst dialog:

SolarFarmer User Guide Page 56 of 77

o Any validation errors will be listed here. The main thing is to make sure the site layout is the one you want to export (it defaults to the visible layout) and you should set the folder that the PVsyst .zip project will be saved.

o The Project name is separate to the Project filename so you can use invalid file characters (such as “, <, >, :”) as part of the project name if you wish.

o The solar resource data must be a year’s worth of hourly data (e.g. TMY data). PVsyst cannot handle non-hourly intervals or multi-year.

3. After a few seconds, File Explorer in windows should open at the folder with the output file selected.

10.2.3 Using Scripting

You can perform the same functionality as the UI dialog using the scripting in SolarFarmer.

This could be useful if you are generating multiple site layouts using the generic layout functionality and

then want to export each one to PVsyst.

1. Launch the script editor window (click the ‘Script’ button in the application title bar):

It creates a default new script.

2. In the Execute() function, add the Toolbox.Export.ExportToPVsyst() function:

You’ll see it takes 6 parameters that mirror those in the UI dialog:

string projectName The name of the project (can contain any characters)

string projectFileName The file name to export (can’t contain invalid file path characters)

SiteLayout sitelayout The site layout to export

string variantName The name to give to the variant for the layout in PVsyst

SolarResource solarResource The solar resource to export (must be a year’s worth of hourly data (e.g. TMY))

string exportFolderPath The folder to save the created .zip file in

Fill these in as in the UI. Something like this:

public void Execute() { // Select the site layout to export SiteLayout siteLayoutToExport = Workbook.Domain.SiteLayouts.FirstOrDefault(s => s.Name == "Site Layout 1"); SolarResource solarResource = Workbook.Climate.SolarResources.First(); // Call the ExportToPVsyst function Toolbox.Export.ExportToPVsyst("Bern", "Bern", siteLayoutToExport, "Site Layout 1", solarResource, @"D:\PVsystProjects"); }

SolarFarmer User Guide Page 57 of 77

3. Save the script (give it a name first) and run the script. Any validation errors will appear in the Results tab of the script editor. Otherwise it should

confirm that the PVsyst project has been created.

10.2.4 Importing the Project into PVsyst

Using one of the methods above, you should have a .zip file that contains files for the PVsyst project.

1. Launch PVsyst

2. Choose the ‘Files -> Import projects’ menu option from the main application dialog:

3. The ‘Import projects tool’ dialog appears.

• Click the ‘Browse…’ button and select the .zip file that you exported from SolarFarmer.

• Click the ‘Import’ button to import the files from the archive (if any warnings to

overwrite appear, just click ‘Yes’ to them).

• Dismiss the ‘Success’ dialog that appears and exit the ‘Import project tools’ dialog.

4. View the project design (click on ‘Project design’ and then ‘Grid-Connected’ buttons)

SolarFarmer User Guide Page 58 of 77

10.2.4.1 Site Details

Click on the Site -> View site details menu option to view the site details.

• The site name, location, altitude, time zone and country have been set from the SolarFarmer

workbook.

• The met data has been set from the solar resource data in SolarFarmer.

10.2.4.2 Project Settings

Click on the Project settings button to view the ‘Project settings’ dialog.

The albedo values should be filled in from SolarFarmer. Other settings should remain the same.

10.2.4.3 System Variant

One variant will be exported. This represents the site layout you selected in SolarFarmer.

Orientation

Click on the Orientation button to see the ‘Orientation’ dialog.

A ‘Fixed Tilted Plane’ field type has been chosen. The Plane Tilt and Azimuth are set from the first layout

region in the SolarFarmer site layout.

Horizon

Click on the Horizon button to see the Horizon dialog

• The horizon data has been imported into PVsyst.

Near Shadings

Click on the Near Shadings button to see the ‘Near Shadings definition’ dialog.

SolarFarmer User Guide Page 59 of 77

• There may be the following error about the orientation parameters needing updating:

• Click on the ‘Update Orientation Parameters’ to update the orientation (it should do it

automatically)

3D Layout

• Now click on the Construction / Perspective button to see the layout in 3D:

Each rack is individually laid out, orientated the same as it is in SolarFarmer along the terrain.

Here is the equivalent layout in SolarFarmer:

SolarFarmer User Guide Page 60 of 77

If you make changes to the 3D layout in PVsyst you need to set ‘Default spacing between modules’ to

0.00, otherwise it will default to 0.02 – creating erroneous results when you save the project in PVsyst

after making changes.

• To do this – from PVsyst’s main dialog, click the ‘Preferences -> Edit hidden parameters’ menu

option:

• Choose the ‘Miscellaneous: Meteo, Simulation,…’ category and change both the “Shadings:

Default spacing between modules” and “Shadings: Shed field default frame margin” to 0.00.

Module String Definitions

The module string definitions have been replicated as much as they can.

Strings in SolarFarmer:

SolarFarmer User Guide Page 61 of 77

Equivalent module string definitions in PVsyst:

Shading Factors PVsyst will have to compute the shading factors (these are not exported) which may take some time.

10.2.4.4 Grid System Definition Click on the System button to show the ‘Grid system definition’ dialog.

There will be one or more sub-arrays defined, depending on the combination of module and inverter specifications and string lengths in your SolarFarmer site layout.

10.2.4.5 Detailed Losses Click on the Detailed losses button to show the ‘PV field detailed losses parameter’ dialog.

Some of these losses have been filled in by the SolarFarmer export. Please check these thoroughly.

SolarFarmer User Guide Page 62 of 77

11 HELP AND SUPPORT

11.1 Support Email

Please use the SolarFarmer support email [email protected] for:

1. Reporting bugs

a. Give step-by-step details on how to reproduce the bug. This is a BIG help for us.

b. Attach the relevant log file (see Section 11.3 below) and the “SolarFarmer Exception.log”

file to the email. This contains the system information for your PC and the exact version

of SolarFarmer you were using, so no need to add that detail too.

c. If relevant/useful - add screenshots of the application as the error happens.

d. If confidentially acceptable (and not too big) - adding a copy of the workbook that you

were using when the bug/crash happened is very useful too.

2. Providing feedback

a. Features you wish SolarFarmer had.

b. Annoyances in the application that could be improved but aren’t specifically a bug.

c. Positive feedback is very welcome too! It’s nice to know what you like and are finding

useful.

3. General queries

a. Sales queries.

b. Licensing – issues and expiring licenses.

c. Portal page access.

Or use one of the pre-configured templates accessible within SolarFarmer from either the Quick Access

Toolbar or the File menu:

The ‘Report a Problem…’ option also attaches the latest SolarFarmer log file to the email too.

11.2 User Portal Page

SolarFarmer’s portal page can be found here:

https://renewableenergysoftwareportal.dnvgl.com/

Go to this page (log in and click on the SolarFarmer link) for access to the latest SolarFarmer installer,

user guide and tutorial videos.

11.3 Log Files

SolarFarmer records some internal operations to a log file. Each time you start SolarFarmer a new log

file is created. Up to 10 older log files are stored (the filename contains the date and time that the

SolarFarmer session started).

To find the log files, open a File Explorer window and go to %temp%\SolarFarmer Logs.

SolarFarmer User Guide Page 63 of 77

This will take you to the folder where they are stored. Sort by the ‘Date modified’ column to see the

latest one at the top. If a crash occurs in SolarFarmer and you want to report a bug, there is also a file

called “SolarFarmer Exception.log” that will sometimes contain extra information about the crash.

These log files are VERY useful to developers when investigating bugs, so please attach the relevant log

file when reporting bugs.

11.4 System Information Page

Select the ‘File → System Information…’ menu option to show the System Information dialog.

This dialog contains information about your specific PC – how much memory, the processors, the version

of Windows, the environment, etc.

If you need to report a bug it is very useful to the SolarFarmer developers if you also attach/paste this

information to the email – though it is also contained in the log files so no need to add it if you’re

attaching a log file.

It can help the developers understand the cause of issues if it is related to your machine and how it is

configured.

11.5 About Box

Select the ‘File → About SolarFarmer’ menu option to show the About SolarFarmer dialog.

This shows the copyright and licensing information. It also lists the license features and expiry date of

your software license, so you can keep track of when it will need renewing.

SolarFarmer User Guide Page 64 of 77

APPENDIX A GLOSSARY AND DEFINITIONS

In the solar industry different terms are often used for the same concepts. Here is a list of terms used in

this User Guide and throughout SolarFarmer.

Array

The set of all strings (which must all be of the same length) connected in parallel to a single bipolar input

of an inverter.

Axis

The line about which something rotates, in this case the axle, modules and associated mounting

structure in Trackers.

Axis Tilt

Angle of inclination of a Tracker Axis from the horizontal. This applies to both “horizontal axis” trackers,

where the axis may not in fact be horizontal owing to underlying terrain slope, and Tilted Axis trackers.

Axis Tilt is positive if the axis is higher at the end further from the equator, regardless of hemisphere.

For horizontal axis trackers, the Axis Tilt is dependent on the System Plane Azimuth and Zenith, and the

System Rotation

Azimuth

Nominal orientation of fixed tilt or tracking arrays.

For Fixed-Tilt arrays, this is the direction of a normal to the primary active face of the modules projected

onto a horizontal plane measured clockwise from true north, if positioned on a flat, horizontal surface.

Fixed-Tilt rows appear normal to the Azimuth Angle when viewed from directly above.

If a rack is positioned on uneven terrain such that one end is higher than the other, the actual azimuth

of the modules on that rack will differ from this value - see Effective Azimuth.

For Tracker arrays, this is the direction of the Axis.

Default Azimuth value is 180o (i.e. south-facing) in the northern hemisphere, 0o (i.e. north-facing) in the

southern hemisphere for both fixed-tilt and tracker arrays.

Bay

Set of modules along a tracker axis which are positioned adjacent to each other (or as close as the

mounting brackets allow). Typically, a Bay falls between Drive- or Support Gaps. For simplicity, Bays are

not currently modelled in SolarFarmer.

Drive Gap

The gap between adjacent bays on a tracker at the point where the tracker is driven (either directly, or

via a link to a central drive). For simplicity, Drive Gaps are not currently modelled in SolarFarmer.

Effect

SolarFarmer uses the word “Effect” to refer to a factor that either increases or decreases the amount of

irradiance, power or any other relevant quantity.

SolarFarmer User Guide Page 65 of 77

• A positive value for a particular Effect indicates that the effect resulted in more irradiance or

power in the calculation (for example the “Tilt Effect” will normally be positive, as tilting the

modules to reduce the average incidence angle results in higher irradiance at the modules).

• A negative value for a particular Effect indicates that the Effect resulted in less irradiance or

power in the calculation (for example the “Soiling Effect”).

• Some effects will almost always have the same sign, others may be negative under some

circumstances, and positive under others (e.g. “Spectral Effect”).

(The sole exception to this is in the Transformer inputs, where “No-Load Loss” and “Full-Load Loss” are

used to describe these inputs, to conform with terminology in standard transformer specifications).

Effects are specified in percent, and an Effect of 0% means that the Effect causes no change. An Effect

of +3% would be equivalent to multiplying the relevant quantity by 1.03; an Effect of -1.5% would be

equivalent to multiplying the relevant quantity by 0.985.

Effective Tilt

The Effective Tilt of a module is the angle between the vertical and a normal to the face of that module

considering any end-to-end slope on a fixed-tilt Rack or any Axis Tilt and Rotation on a Tracker.

Effective Azimuth

The Effective Azimuth of a module is the angle between a normal to the face of that module projected

onto the horizontal and measured from true north, taking into account any end-to-end slope on a fixed-

tilt Rack or any Axis Tilt and Rotation on a Tracker.

Frame

Part of tracker or rack that surrounds and protrudes beyond the edges of the modules in a single Rack or

Tracker. Frames cause shading.

Ground Coverage Ratio (GCR)

The ratio of the rack height to the pitch.

Horizontal-Axis Tracker

A single-axis tracker where the axis is nominally horizontal. In practice, the axis may not be horizontal,

owing to underlying terrain slope. Typically, a Tracker System manufacturer will specify the maximum

Axis Tilt angle. Unlike fixed-tilt racking systems, Horizontal Axis Trackers are installed in rows oriented

close to north-south.

Layout

All Layout Regions in a Plant, as defined in the SolarFarmer model.

Layout Region

Area inside a single, closed boundary in the map. Racks and Trackers can only be positioned within a

Layout Region, but other items like Inverters and Transformers can be positioned outside.

SolarFarmer User Guide Page 66 of 77

Module

A single physical PV module, including all cells, wiring, diodes etc, in suitably transparent protective

encapsulation.

Pitch

A way of specifying the spacing of adjacent Rows in a Layout Region, the Pitch is the absolute distance

between centre lines of the Rows projected onto a horizontal plane (i.e. the distance between centre

lines as seen from above).

Plant

Entire PV installation including all arrays, wiring, inverters and transformers up to the network

connection point.

Plant Array

All Arrays making up the plant.

Rack

The available Rack Templates in the Rack System are used to create Racks within the Layout Regions of

fixed-tilt Layouts.

Rack System

A fixed-tilt Layout will typically be composed of Racks that are similar in design and share many common

dimensions, but vary in length; there may be two, three or more different length Racks based on the

same Rack System in the layout, to enable the most efficient use of available space, and/or reduce wind

loading at the edges of the Layout.

Rack Template

A Rack System must have at least one Rack Template based on the system. A Rack Template specifies

the dimensions of an available rack length option within the system that are not common with other

members of the system. Once a Rack Template has been defined, Racks with the specified dimensions

can be placed in the Layout.

In rooftop Layouts, modules are often mounted individually to allow efficient use of complex spaces

divided by obstacles such as AC units and parapets, in which case the Rack size would effectively be

1 x 1.

Row

Line of Racks or Trackers in a Layout Region, potentially including gaps. Potential positions for these

rows (Row Line) are shown as dotted lines in the Layout Regions in SolarFarmer.

Row Line

Dotted line in Layout view showing each potential Row position in the Layout Regions.

SolarFarmer User Guide Page 67 of 77

String

A set of PV modules connected in series (i.e. the +ve terminal of one module is connected to the –ve

terminal of the next, repeated all the way along the string)

Submodule

A group of cells and wiring within a PV module connected in parallel with a single bypass diode. There

are normally three of these per module. A string of modules is modelled electrically like a string of

submodules.

Substring

A Substring is a set of series-connected cells connected across a bypass diode within a Module.

Support Gap

The gap between adjacent bays on a tracker at the point where the tracker axis is supported. For

simplicity, Support Gaps are not currently modelled in SolarFarmer.

System Plane

Within a Layout Region, the Axes of horizontal trackers are confined to lie within a single plane, the

System Plane. The plane is defined by the System Plane Azimuth and System Plane Zenith and the

vertical offset of the plane.

System Plane Azimuth

The clockwise angle from true north of the projection of the upwards-pointing normal to the System

Plane on a horizontal plane.

System Plane Zenith

The angle between the vertical and the upwards-pointing normal to the System Plane.

System Rotation Angle

The System Rotation Angle describes the angle between the true north-south axis at the site, and the

centre lines of horizontal axis trackers at the site. A positive angle indicates a clockwise rotation,

regardless of the hemisphere in which the site is located. System rotation angle is confined to be

between -90o and +90o.

Tilt

For fixed-tilt racks, the Tilt is the nominal angle between the vertical and a normal to the plane of the

modules mounted on the rack, when the rack is placed on flat, horizontal terrain.

A positive tilt angle indicates that the racks are inclined such that a projection of the normal to the plane

of the modules on rack onto the horizontal plane points toward the equator (in both hemispheres), i.e.

the typical tilt used to increase the irradiance falling on the modules.

If a rack is positioned on uneven terrain such that one end is higher than the other, then this will not be

the actual angle between the normal to the face of the rack and the vertical – see Effective Tilt.

For Horizontal-Axis Trackers, see Axis Tilt.

SolarFarmer User Guide Page 68 of 77

Tracker

The available Tracker Templates in the Tracker System are used to create Trackers within the Layout

Regions of tracking Layouts.

Tracker Rotation Angle

Angle of rotation of Tracker from the middle position (normal to active face of modules on Tracker points

vertically upward – in this position the Rotation angle is 0).

SolarFarmer uses a negative rotation angle to indicate that the active faces of modules on the Tracker

are oriented to point to the East, regardless of hemisphere, and a positive rotation angle to indicate an

orientation to the west. Thus, the rotation angle will normally progress from negative in the morning to

positive in the evening.

Tracker System

A Layout will typically be composed of Trackers that are similar in design and share many common

dimensions and properties, but vary in length; there may be two, three or more different length Trackers

based on the same Tracker System in the layout, to enable the most efficient used of available space.

Tracker Template

A Tracker System must contain at least one Tracker Template based on the System. A Tracker Template

specifies the dimensions of an available Tracker within the system that are not common with other

members of the system – those quantities that define the length of the Tracker. Once a Tracker

Template has been defined, Trackers with the specified dimensions can be placed in the Layout.

SolarFarmer User Guide Page 69 of 77

APPENDIX B TRANSFERRING A SOFTWARE LICENSE

Once a SolarFarmer software license is installed onto a machine it is only valid for that specific machine.

You may transfer it to another machine by using a utility, the RUS application (launch the Software

License Remote Update Tool in the SolarFarmer program folder in the Windows Start Menu).

On the Recipient Machine:

1. Open the RUS application and click on the ‘Transfer License’ tab

2. Click the ‘…’ button next to the ‘Save recipient information to’ field.

3. Enter a filename to save the recipient information, ideally on a network drive that the source machine can also see).

4. Click the ‘Collect and Save Information’ button to generate the recipient *.id file.

On the Source Machine:

5. Open the RUS application and click on the ‘Transfer License’ tab

6. Click the ‘…’ button next to the ‘Read the recipient information file from’ field and choose the *.id file that was generated on the recipient machine above.

7. Click the ‘…’ button next to the ‘Generate the license transfer file to’ field and choose a transfer *.h2h filename (ideally in the same network folder).

8. Click the ‘Generate License Transfer File’ button to generate the *.h2h file. At this point, the license will no longer be available on the source machine.

On the Recipient Machine:

9. Open the RUS application again and click on the ‘Apply License File’ tab.

10. Click the ‘…’ button next to the ‘Update File’ field and choose the *.h2h file generated above.

11. Click the ‘Apply Update’ button to apply the transferred license to the recipient machine.

SolarFarmer User Guide Page 70 of 77

APPENDIX C RUN SOLARFARMER FROM THE COMMAND LINE

The SolarFarmer application can be run from the command line – useful for automation tasks. You can

open a specified workbook and run a procedure (script) in the opened workbook.

Open a command prompt in Windows. Navigate to the latest SolarFarmer installation folder (or use the

full path of the SolarFarmer executable), then use some or all of the following options:

-open filePath Open the specified workbook

-run procedureName Run the specified procedure (must also open a workbook that contains the

procedure)

-close Close SolarFarmer after completing the procedure (must run a procedure to use

this)

-invisible Does not open the application window

-nosplash Hides the splash screen

For example:

GH.SolarFarmer.exe -open "C:\Workbooks\My workbook.sfw" -run MyScript -close -invisible -nosplash

SolarFarmer User Guide Page 71 of 77

APPENDIX D SPECIFIC SCRIPTING EXAMPLES

D.1 Elevation Profile Tool

You can access the elevation profile tool functionality (Section 10.1.4) from the scripting interface too.

There are two functions in the Toolbox class to use:

/// <summary> /// Gets the elevation profile statistics (in the workbook coordinates projection). /// </summary> /// <param name="startPoint">The start point (in workbook coordinates).</param> /// <param name="endPoint">The end point (in workbook coordinates).</param> /// <returns>An ElevationProfileStatistics object for the elevation profile along the line.</returns> ElevationProfileStatistics Toolbox.GetElevationProfileStatistics ( IReadable2DLocation startPoint, // in the workbook local projection IReadable2DLocation endPoint); // in the workbook local projection /// <summary> /// Gets the elevation profile statistics for the specified points (in latitude/longitude format) /// </summary> /// <param name="startPointInLatLon">The start point (in lat lon).</param> /// <param name="endPointInLatLon">The end point (in lat lon).</param> /// <returns>An ElevationProfileStatistics object for the elevation profile along the line.</returns> ElevationProfileStatistics Toolbox.GetElevationProfileStatisticsForLatLonPoints( IReadable2DLocation startPointInLatLon, // in lat/lon (WGS84) IReadable2DLocation endPointInLatLon); // in lat/lon (WGS84)

Choose the appropriate one that you have coordinates for (depending on where you get the coordinates).

Both return an ElevationProfileStatistics object. This has the following properties:

Property Type Units Description

PlanViewDistance double m Gets the plan view distance (2D distance) from the start to

the end point

FollowGroundDistance double m Gets the follow-ground distance (distance along the surface of the ground - the sum of the lengths of all the sections along the profile line).

MaxElevation double m Gets the maximum elevation

MinElevation double m Gets the minimum elevation

AverageElevation double m Gets the average elevation

ElevationGain double m Gets the elevation gain (across the whole line)

ElevationLoss double m Gets the elevation loss (across the whole line)

NetElevationGain double m Gets the net elevation gain

MaxUpSlope double % Gets the maximum up slope

MaxDownSlope double % Gets the maximum down slope

AverageUpSlope double % Gets the average up slope

AverageDownSlope double % Gets the average down slope

SamplePoints List<ElevationProfileSamplePoint> - Gets the list of sample points along the elevation profile line

SolarFarmer User Guide Page 72 of 77

There are currently 101 sample points along the line. The ElevationProfileSamplePoint class has the

following properties:

Property Type Units Description

DistanceFromStart double m Gets the distance from the start point of the line

ElevationAtPoint double m Gets the elevation at point (in metres above sea level)

SlopeAtPoint double % Gets the slope at point (percentage)

Here is a simple example script that uses both versions (if copying this code you will have to use start

and end points at locations within your workbook) and outputs a summary of each statistics object:

public void Execute() { // Use start and end points in the Workbook projection (e.g. UTM) Location startPointInWorkbookProjection = new Location(3564093.6, 2065754.3); Location endPointInWorkbookProjection = new Location(3564528.2, 2065414.5); ElevationProfileStatistics statistics = Toolbox.GetElevationProfileStatistics(startPointInWorkbookProjection, endPointInWorkbookProjection); Toolbox.Log("--- Summary of statistics when getting the statistics from two points in the workbook projection"); OutputStatisticsSummary(statistics); // Use start and end points in latitude/longitude (WGS84) format // (don't forget when creating a Location, use the longitude (x) and latitude (y) Location startPointInLatLong = new Location(-77.752087, 38.252560); Location endPointInLatLong = new Location(-77.7566312, 38.254795); ElevationProfileStatistics statistics2 = Toolbox.GetElevationProfileStatisticsForLatLonPoints(startPointInLatLong, endPointInLatLong); Toolbox.Log("--- Summary of statistics when getting the statistics from two points in latitude/longitude"); OutputStatisticsSummary(statistics2); } private void OutputStatisticsSummary(ElevationProfileStatistics statistics) { Toolbox.Log(string.Format("Plan view distance: {0:0.##} m", statistics.PlanViewDistance)); Toolbox.Log(string.Format("Max up slope: {0:0.##} %", statistics.MaxUpSlope)); Toolbox.Log(string.Format("Max down slope: {0:0.##} %", statistics.MaxDownSlope)); Toolbox.Log(string.Format("Average up slope: {0:0.##} %", statistics.AverageUpSlope)); Toolbox.Log(string.Format("Average down slope: {0:0.##} %", statistics.AverageDownSlope)); Toolbox.Log(string.Format("Net elevation gain: {0:0.##} m", statistics.NetElevationGain)); Toolbox.Log(string.Format("Point 15 slope: {0:0.##} %", statistics.SamplePoints[15].SlopeAtPoint)); Toolbox.Log(string.Format("Point 15 dist from start: {0:0.##} m", statistics.SamplePoints[15].DistanceFromStart)); Toolbox.Log(string.Format("Point 15 elevation: {0:0.##} m", statistics.SamplePoints[15].ElevationAtPoint));

}

And might give something similar to the following output:

INFO 2019-02-21 15:21:26,430 - --- Summary of statistics when getting the statistics from two points in the workbook projection INFO 2019-02-21 15:21:26,520 - Plan view distance: 551.67 m INFO 2019-02-21 15:21:26,521 - Max up slope: 17.1 % INFO 2019-02-21 15:21:26,522 - Max down slope: -20.78 % INFO 2019-02-21 15:21:26,522 - Average up slope: 2.83 % INFO 2019-02-21 15:21:26,523 - Average down slope: -4.54 %

SolarFarmer User Guide Page 73 of 77

INFO 2019-02-21 15:21:26,524 - Net elevation gain: -12.03 m INFO 2019-02-21 15:21:26,524 - Point 15 slope: -1.76 % INFO 2019-02-21 15:21:26,525 - Point 15 dist from start: 82.75 m INFO 2019-02-21 15:21:26,525 - Point 15 elevation: 124.33 m INFO 2019-02-21 15:21:26,534 - --- Summary of statistics when getting the statistics from two points in latitude/longitude INFO 2019-02-21 15:21:26,535 - Plan view distance: 468.76 m INFO 2019-02-21 15:21:26,535 - Max up slope: 41.88 % INFO 2019-02-21 15:21:26,536 - Max down slope: -43.68 % INFO 2019-02-21 15:21:26,536 - Average up slope: 7.82 % INFO 2019-02-21 15:21:26,537 - Average down slope: -5.98 % INFO 2019-02-21 15:21:26,538 - Net elevation gain: 2.36 m INFO 2019-02-21 15:21:26,538 - Point 15 slope: 23.33 % INFO 2019-02-21 15:21:26,539 - Point 15 dist from start: 70.31 m INFO 2019-02-21 15:21:26,539 - Point 15 elevation: 106.7 m

There is also a more complicated example script in the SolarFarmer installation folder. This extracts all

the line placemarks in a Google Earth .kml file, calls the elevation profile functions on each and outputs

the statistics to a .tsv (Tab Separated) file.

To use this – open Google Earth (installed separately!), create some line placemarks at locations you are

interested in, save the .kmz file. Then using a zip extractor tool (e.g. 7-Zip or WinZip), extract the files

from the .kmz archive to another folder. There should be a “doc.kml” file inside. This will contain the

line placemark details – which this script can read.

To load this sample script into SolarFarmer:

1. Open the script editor in SolarFarmer (using the button in the Quick Access Toolbar).

2. Press the ‘Import’ button in the script editor:

3. Select the following script in the installation folder of the version of SolarFarmer that you are

using:

"C:\Program Files\<SolarFarmer Install Folder>\Scripts\ElevationProfile\ElevationProfileScript.cs"

4. Save the script with the suggested name (or choose another name). This will add the imported

script in the current workbook.

5. Follow the instructions in the comment at the top of the imported script (set the path to the .kml

file and the output folder).

6. Run the script.

The .tsv file should be created and saved to the folder that you specify.

Remember to save the workbook after you have updated the script, otherwise the script and the changes

you make won’t be saved for when you reopen the workbook.

SolarFarmer User Guide Page 74 of 77

D.2 Defining Inverter Blocks

You can define layout regions using scripting to replicate the functionality in the Format Layout Region

dialog.

Here is an example of a use of it for a fixed-tilt racks layout region.

First, create some parameters that are going to be used with the sizing functions:

// Create and initialise the central inverter location parameters CentralInverterLocationParameters inverterLocationParams = new CentralInverterLocationParameters { DistanceTypeFromTop = DistanceType.PercentageAcrossLength, TopValue = 50.0, DistanceTypeFromLeft = DistanceType.PercentageAcrossLength, LeftValue = 50.0, }; // Create and initialise the vertical and horizontal road parameters RoadLocationParameters verticalRoadParams = new RoadLocationParameters { DistanceType = DistanceType.Count, DistanceValue = 3, RoadWidth = 5.0, }; RoadLocationParameters horizontalRoadParams = new RoadLocationParameters { DistanceType = DistanceType.Count, DistanceValue = 3, RoadWidth = 5.0, }; // Create and initialise the margin parameters LayoutBoundaryMarginParameters margins = new LayoutBoundaryMarginParameters( new LayoutBoundaryMarginParameter(MarginType.HalfRowColumn, 0), // Top new LayoutBoundaryMarginParameter(MarginType.HalfRowColumn, 0), // Bottom new LayoutBoundaryMarginParameter(MarginType.Custom, 0), // Left new LayoutBoundaryMarginParameter(MarginType.Custom, 0)); // Right // Create and initialise the central inverter and strings parameters AddCentralInverterAndAssignStringsParameters addInverterParams = new AddCentralInverterAndAssignStringsParameters { InverterSpecification = Workbook.ComponentLibrary.InverterSpecifications[0], ModuleSpecification = Workbook.ComponentLibrary.ModuleSpecifications[0], StringLength = 12, StringPatternType = StringPatternType.Straight, }; Now, choose an existing layout region and use one of the size setting functions below

LayoutBoundary layoutRegion1 = Workbook.Domain.VisibleSiteLayout.LayoutBoundaries.FirstOrDefault(l => l.Name == "Layout Region 1");

SolarFarmer User Guide Page 75 of 77

The 3 different ways to set the size of the layout region.

For the following arguments, if you leave them null it will use the existing values on the layout region

- pitch, tilt, rack/tracker system specification

For the following arguments, if you leave them null it won't apply the parameters

- add inverter, inverter location, margins, vertical and horizontal roads

layoutRegion1.SetRowsColumns( 8, // rows 6, // columns 10, // pitch null, // tilt null, // rack system specification addInverterParams, inverterLocationParams, margins, verticalRoadParams, // vertical road parameters null); // horizontal road parameters); layoutRegion1.SetSizeFromDcAcRatio( 1.5, // DC/AC Ratio 13, // pitch null, // tilt null, // rack system specification addInverterParams,

inverterLocationParams, margins, null, // vertical road parameters null); // horizontal road parameters); layoutRegion1.SetSize( 300, // width (in metres) 250, // height (in metres) null, // pitch null, // tilt null, // rack system specification addInverterParams, inverterLocationParams, // inverter location parameters margins, // margin parameters verticalRoadParams, // vertical road parameters horizontalRoadParams); // horizontal road parameters

SolarFarmer User Guide Page 76 of 77

D.3 Generic Layout The three generic layout commands are accessible from the Toolbox.GenericLayout class: bool Toolbox.GenericLayout.UpdateSiteLayout(

SiteLayout siteLayoutToUpdate, GenericLayoutSettings genericLayoutSettings);

bool Toolbox.GenericLayout.CreateNewSiteLayoutFromEmpty(

GenericLayoutSettings genericLayoutSettings, TransformerSpecification transformerSpecification, string newSiteLayoutName);

bool Toolbox.GenericLayout.CreateNewSiteLayoutFromExisting(

SiteLayout templateSiteLayout, GenericLayoutSettings genericLayoutSettings, string newSiteLayoutName);

All 3 functions need a GenericLayoutSettings object to be defined. This largely replicates the visible functionality in the UI. An example script for setting up a GenericLayoutSettings object and using it: // First, create a new GenericLayoutSettings object GenericLayoutSettings genericLayoutSettings = new GenericLayoutSettings(); // Then create a GenericLayoutFillOption and add to the settings GenericLayoutFillOption fillOption = new GenericLayoutFillOption(); // Populate the fill option: // Set the fill options type to use individual components fillOption.FillOptionsType = FillOptionsType.UseIndividualComponents; // Set the component options FillOptionComponentOptions componentOptions = fillOption.IndividualComponentsOptions.ComponentOptions; componentOptions.InverterSpecification = Workbook.ComponentLibrary.InverterSpecifications.First(); componentOptions.ModuleSpecification = Workbook.ComponentLibrary.ModuleSpecifications.First(); componentOptions.UseDefaultStringSize = true; componentOptions.DcAcRatio = 1.2; componentOptions.StringPattern = StringPatternType.Straight; // Set the layout choice type fillOption.IndividualComponentsOptions.LayoutChoiceType = LayoutChoiceType.FixedTiltRacks; // Set the rack layout options FillOptionRackLayoutOptions rackLayoutOptions = fillOption.IndividualComponentsOptions.RackLayoutOptions; rackLayoutOptions.RackSystemSpecification = Workbook.ComponentLibrary.RackSystemSpecifications.First(); rackLayoutOptions.Azimuth = 180.0; rackLayoutOptions.Tilt = 35.0; rackLayoutOptions.Pitch = 7; rackLayoutOptions.FillOptionsSpacingType = FillOptionsSpacingType.Pitch;

SolarFarmer User Guide Page 77 of 77

// Now add this fill option to the settings genericLayoutSettings.FillOptions.Add(fillOption); // Set up the area limitation // Make sure you use one of the fill options already in the settings object - not a new orphan fill option genericLayoutSettings.AreaLimitation.LimitToAllLayoutRegionsFillOption = genericLayoutSettings.FillOptions.First(); genericLayoutSettings.AreaLimitation.AreaLimitationType = AreaLimitationType.LimitByAllExistingLayoutRegions; // Set up the electrical limitation genericLayoutSettings.ElectricalLimitation.ElectricalLimitationType = ElectricalLimitationType.MaxAcCapacity; genericLayoutSettings.ElectricalLimitation.MaxAcCapacityInMw = 4.2; // Choose a site layout to update SiteLayout siteLayoutToUpdate = Workbook.Domain.SiteLayouts.FirstOrDefault(s => s.Name == "Site Layout 1"); // Call the generic layout function to update the site layout with the settings Toolbox.GenericLayout.UpdateSiteLayout(siteLayoutToUpdate, genericLayoutSettings);