In this document
This article provides detailed guidance on using the Long-term averages endpoint (part of the WS API), including how to structure XML requests and responses, use HTTP headers, and test the API. It also covers client code snippets for Python, enabling developers to efficiently integrate Solargis data into their applications.
This API endpoint offers the Long-Term Averages API (LTA API), which is part of the Solargis Prospect solution.
How to use the Long-term averages API endpoint
To use the API effectively, follow this Python code example. This is the example of Python program for using the Solargis WS API - its Long-term averages endpoint. First import required dependencies:
import requests
import xmltodict # https://pypi.org/project/xmltodict/, pip install xmltodict
import pprint
Let's create a simple XML request - we will request Solargis long-term averaged solar, meteo and PV data:
lat, lon = 48.61259, 20.827079 # Demo site
request_xml = f'''<calculateRequest
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:geo="http://geomodel.eu/schema/common/geo"
xmlns:pv="http://geomodel.eu/schema/common/pv"
xmlns="http://geomodel.eu/schema/ws/pvplanner">
<site lat="{lat}" lng="{lon}">
<!-- optional terrain data -->
<geo:terrain elevation="246" azimuth="176" tilt="3.1" />
<!-- optional custom horizon data can override the natural terrain horizon -->
<geo:horizon>11.11:18.0 7.5:15.53 15.0:10.94 352.5:17.29</geo:horizon>
<pv:geometry xsi:type="pv:GeometryFixedOneAngle" azimuth="180" tilt="25"/>
<pv:system installedPower="300" installationType="FREE_STANDING" availability="99">
<pv:module type="CSI">
</pv:module>
<pv:inverter>
<pv:efficiency xsi:type="pv:EfficiencyConstant" percent="97.5"/>
</pv:inverter>
<pv:losses dc="5.5" ac="1.5"/>
</pv:system>
</site>
</calculateRequest>'''
Authenticate towards the API endpoint and attach request headers. This time we will use token as query string inside the URL. Other option is to use the Basic auth method with username and password (same as token) provided with your subscription.
api_token = 'demo'
url = f'https://solargis.info/ws/rest/pvplanner/calculate?key={api_token}'
headers = {'Content-Type': 'application/xml'}
Send HTTP POST request and collect long-term averages dataset - as python dictionary:
with requests.post(url, data=request_xml, headers=headers) as response:
if not response.ok:
print(f'Failed API request with code {response.status_code}:\n{response.text}')
else:
datadict = xmltodict.parse(response.text) # transform XML document into Python dictionary
response_dict = datadict['ns3:calculateResponse']
# explore solar and climate data in the response:
climate_data = response_dict['ns3:irradiation']
climate_data_reference = climate_data['ns3:reference'] # general climate data
solar_data_inplane = climate_data['ns3:inplane'] # POA irradiance components
geometry_comparison = climate_data['ns3:comparison'] # comparison of the various geometry options with selected one
optimum_angle = climate_data.get('ns3:optimum') # optimum fixed angle for the selected location
# get PV calculation data:
pv_data = response_dict['ns3:calculation']
pv_data_output = pv_data['ns3:output'] # PV system output total and specific
pv_data_losses = pv_data['ns3:losses'] # PV system losses breakdown
Explore dataset content:
print('\nClimate data reference:')
pprint.pprint(climate_data_reference)
print('\nSolar data in-plane:')
pprint.pprint(solar_data_inplane)
print('\nGeometry comparison:')
pprint.pprint(geometry_comparison)
print('\nOptimum angle:')
pprint.pprint(optimum_angle)
print('\nPV data output:')
pprint.pprint(pv_data_output)
print('\nPV losses:')
pprint.pprint(pv_data_losses)
Climate data reference:
{'ns3:Alb': {'@monthly': '0.22 0.21 0.14 0.16 0.18 0.18 0.17 0.17 0.17 0.16 '
'0.14 0.16',
'@yearly': '0.17'},
'ns3:Dhd': {'@monthly': '0.55 0.90 1.44 2.01 2.44 2.69 2.59 2.21 1.61 1.07 '
'0.64 0.45',
'@yearly': '1.55'},
'ns3:Dnid': {'@monthly': '1.68 2.40 3.43 3.64 4.08 4.29 4.14 4.36 3.40 2.58 '
'1.54 1.24',
'@yearly': '3.06'},
'ns3:Dnim': {'@monthly': '52.1 67.1 106.3 109.2 126.5 128.6 128.3 135.0 102.0 '
'80.0 46.2 38.4',
'@yearly': '1119.7'},
'ns3:Ghd': {'@monthly': '0.93 1.70 3.03 4.13 5.06 5.54 5.31 4.84 3.38 2.06 '
'1.06 0.67',
'@yearly': '3.15'},
'ns3:Ghm': {'@monthly': '28.7 47.6 93.8 123.8 157.0 166.3 164.7 150.0 101.3 '
'63.9 31.8 20.8',
'@yearly': '1149.7'},
'ns3:Prec': {'@monthly': '41.8 41.9 43.6 62.5 84.7 82.2 98.0 74.0 65.6 55.4 '
'53.1 45.0',
'@yearly': '747.8'},
'ns3:Pwat': {'@monthly': '99.0 105.0 100.0 115.0 137.0 184.0 261.0 264.0 '
'202.0 149.0 119.0 106.0',
'@yearly': '153.0'},
'ns3:Rh': {'@monthly': '86.0 81.0 71.0 67.0 72.0 73.0 73.0 75.0 79.0 83.0 '
'87.0 88.0',
'@yearly': '78.0'},
'ns3:Td': {'@monthly': '-2.3 -0.2 3.9 9.8 14.8 18.8 20.6 20.2 15.1 9.4 4.0 '
'-1.0',
'@yearly': '9.5'},
'ns3:Tmax': {'@monthly': '0.8 3.4 8.2 14.3 19.0 22.8 24.7 24.5 19.2 13.3 6.9 '
'1.4'},
'ns3:Tmin': {'@monthly': '-4.3 -3.1 -0.0 4.7 9.8 13.8 15.7 15.4 11.1 6.3 2.1 '
'-2.5'},
'ns3:Ws': {'@monthly': '2.1 2.3 2.6 2.6 2.4 2.3 2.1 2.0 2.2 2.0 2.0 2.0',
'@yearly': '2.2'},
'ns3:invar': {'@monthly': '-1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 '
'-1.0 -1.0',
'@yearly': '-1.0'}}
Solar data in-plane:
{'ns3:Did': {'@monthly': '0.60 0.97 1.53 2.05 2.41 2.63 2.56 2.27 1.69 1.15 '
'0.70 0.47',
'@yearly': '1.59'},
'ns3:Gid': {'@monthly': '1.40 2.39 3.81 4.64 5.27 5.59 5.45 5.33 4.06 2.77 '
'1.54 0.98',
'@yearly': '3.61'},
'ns3:Gim': {'@monthly': '43.4 67.0 118.0 139.2 163.5 167.8 169.0 165.4 121.7 '
'85.8 45.9 30.3',
'@yearly': '1317.0'},
'ns3:Rid': {'@monthly': '0.01 0.02 0.02 0.03 0.04 0.05 0.04 0.04 0.03 0.02 '
'0.01 0.01',
'@yearly': '0.03'},
'ns3:ShLoss': {'@monthly': '18.7 9.5 5.3 3.6 3.1 3.0 3.0 3.3 4.1 7.3 13.3 '
'25.4',
'@yearly': '5.7'}}
Geometry comparison:
{'ns3:horizontal': {'@percentOpt': '86.8', '@yearlySum': '1150.0'},
'ns3:optimum': {'@percentOpt': '100.0', '@yearlySum': '1324.0'},
'ns3:selected': {'@percentOpt': '99.5', '@yearlySum': '1317.0'},
'ns3:tracker2x': {'@percentOpt': '118.6', '@yearlySum': '1570.0'}}
Optimum angle:
{'@fixed': '28.0'}
PV data output:
{'ns3:Esd': {'@monthly': '1.26 2.13 3.28 3.84 4.25 4.44 4.31 4.26 3.34 2.37 '
'1.35 0.87',
'@yearly': '2.98'},
'ns3:Eshare': {'@monthly': '3.6 5.5 9.3 10.6 12.1 12.2 12.3 12.1 9.2 6.7 3.7 '
'2.5',
'@yearly': '100.0'},
'ns3:Esm': {'@monthly': '39.2 59.6 101.6 115.3 131.7 133.1 133.7 132.1 100.3 '
'73.4 40.4 27.1',
'@yearly': '1087.5'},
'ns3:Etm': {'@monthly': '11760.0 17880.0 30480.0 34590.0 39510.0 39930.0 '
'40110.0 39630.0 30090.0 22020.0 12120.0 8130.0',
'@yearly': '326250.0'},
'ns3:PR': {'@monthly': '73.4 80.5 81.5 79.8 78.1 76.9 76.7 77.3 79.1 79.4 '
'76.3 66.6',
'@yearly': '77.9'}}
PV losses:
{'ns3:acLoss': {'@PRc': '78.7',
'@PRp': '98.6',
'@lossAbs': '-16',
'@lossRel': '-1.43',
'@output': '1099'},
'ns3:angular': {'@PRc': '89.6',
'@PRp': '95.1',
'@lossAbs': '-65',
'@lossRel': '-4.94',
'@output': '1252'},
'ns3:availability': {'@PRc': '77.9',
'@PRp': '99.0',
'@lossAbs': '-11',
'@lossRel': '-1.0',
'@output': '1088'},
'ns3:conversion': {'@PRc': '86.6',
'@PRp': '96.6',
'@lossAbs': '-42',
'@lossRel': '-3.35',
'@output': '1210'},
'ns3:dcLoss': {'@PRc': '81.9',
'@PRp': '94.5',
'@lossAbs': '-66',
'@lossRel': '-5.45',
'@output': '1144'},
'ns3:global': {'@PRc': '100.0', '@PRp': '100.0', '@output': '1397'},
'ns3:inverter': {'@PRc': '79.8',
'@PRp': '97.5',
'@lossAbs': '-29',
'@lossRel': '-2.53',
'@output': '1115'},
'ns3:terrain': {'@PRc': '94.3',
'@PRp': '94.3',
'@lossAbs': '-80',
'@lossRel': '-5.73',
'@output': '1317'},
'ns3:total': {'@PRc': '77.9',
'@lossAbs': '-309',
'@lossRel': '-22.12',
'@output': '1088'}}
df.to_csv('solargis_data_for_today.csv')
You can also test the API in command-line tools like cURL:
curl -i -X POST "https://solargis.info/ws/rest/pvplanner/calculate?key=demo" -H "Content-Type: application/xml" -d '
<calculateRequest
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:geo="http://geomodel.eu/schema/common/geo"
xmlns:pv="http://geomodel.eu/schema/common/pv"
xmlns="http://geomodel.eu/schema/ws/pvplanner">
<site lat="48.61259" lng="20.827079">
<!-- optional terrain data -->
<geo:terrain elevation="246" azimuth="176" tilt="3.1" />
<!-- optional custom horizon data can override the natural terrain horizon -->
<geo:horizon>11.11:18.0 7.5:15.53 15.0:10.94 352.5:17.29</geo:horizon>
<pv:geometry xsi:type="pv:GeometryFixedOneAngle" azimuth="180" tilt="25"/>
<pv:system installedPower="300" installationType="FREE_STANDING" availability="100">
<pv:module type="CSI">
</pv:module>
<pv:inverter>
<pv:efficiency xsi:type="pv:EfficiencyConstant" percent="97.5"/>
</pv:inverter>
<pv:losses dc="5.5" ac="1.5"/>
</pv:system>
</site>
</calculateRequest>'
For greater interactivity you can test the API in featured applications like Postman.
After sending the request, review the HTTP response to understand the data structure and content returned by the API.
Returned HTTP response headers
Alongside standard HTTP response headers, such as the content-type or date, the WS API provides custom Solargis headers that help customers with usage monitoring and troubleshooting.
solargis-request-id: every API transaction gets a unique ID for later reference, e.g. b785345a-430d-44bb-aa09-7e63acfeb9bb.
The users can check their API consumption after each call. We are adding these custom response headers in each call (specific headers are present in the response only if your subscription applies for the specific limit):
solargis-usage-total and solargis-limit-total: counter and limit for total number of calls, the counter is valid for the entire subscription validity range.
solargis-usage-unique-locations and solargis-limit-unique-locations: counter and limit for number of unique locations visited by the subscription, the counter is valid for the entire subscription validity range.
Error codes
Error responses do not affect usage counters.
HTTP Status | Error | Description |
---|---|---|
400 | Bad Request | Raised for various XML validation and parsing errors. It is a client error. |
401 | Unauthorized | Raised for authentication-related errors, wrong or non-existing tokens or usernames. |
405 | Method Not Allowed | Raised when the HTTP method is not allowed e.g., getting the resource which supports only POST method. |
429 | Too Many Requests | Raised when the call rate or other limit is exceeded. |
500 | Internal Server Error | Raised for unexpected internal errors caused by Solargis. |
How usage is limited in the API
API usage is subject to various limits across different areas and it is determined by your subscription.
Limits relate to call rates:
Total Call Rate Limit: The total number of calls allowed for the entire subscription period. This API endpoint is limited mostly by total limit as the long-term averages dataset update rate is only once per year.
Call Rate Limit per Minute (Fair Use Policy): Ensures fair usage by limiting the number of calls per minute.
Although an API subscription grants users global access, it may be limited to a specific number of unique locations. This typically applies for Free trials or Education subscriptions.
Number of Unique Locations: Limits the number of unique locations a subscription can access. Evaluating unique locations is based on concatenating the latitude and longitude tuple into its text representation. Therefore, even a tiny change in the decimal place is considered a new location, with no rounding or buffering around the site location.
We also offer a demonstration API subscription that anyone can use to test all API capabilities on a single, unmetered location. You can see the use of the demo account in the Python program example above.
XML request
calculateRequest - the root element of the request
Element: <calculateRequest>
Namespace: http://solargis.info/schema/ws-pvplanner.xsd
Description: The root element of the XML request, :
<calculateRequest>
has one optional attribute:@optimize
Content:
Required elements:
One
<site>
element.
Attributes
Attribute | Required | Description | Type |
---|---|---|---|
| No | If 'true' the PV array geometry tilt angle is ignored during the PV calculation, instead the optimal tilt angle for the location is used. Optimum angle value is also returned in response. | boolean |
Site
Element: <site>
Namespace: http://solargis.info/schema/common-pv.xsd
Description: The
<site>
element specifies the geographical location and environmental condition of a site and may include additional details about PV technology and PV array geometry.Content:
One
<geometry>
element.One
<system>
element.One
<terrain>
element.One
<horizon>
element.
Attributes
Attribute | Required | Description | Format/Example |
---|---|---|---|
| Yes | Latitude of the site in decimal degrees. | Example: |
| Yes | Longitude of the site in decimal degrees. | Example: |
Example
<site id="Site_001" lat="48.61259" lng="20.827079" name="My Solar Site" />
Terrain
Element: <terrain>
Namespace: http://solargis.info/schema/common-geo.xsd
Description: The
<terrain>
element defines ground terrain characteristics, such as elevation, slope tilt, and azimuth orientation.Content: None (attributes only).
Attributes
Attribute | Required | Description | Default/Example |
---|---|---|---|
| No | Elevation above mean sea level in meters. If omitted, the value is retrieved from the SRTM terrain database. | Example: |
| No | Orientation of tilted terrain in degrees (0° = North, 180° = South, measured clockwise). Has no effect on flat terrain (tilt=0). Default is 180°. | Default: |
| No | Slope tilt of the terrain in degrees (0° = flat ground, 90° = vertical surface). Default is 0°. | Default: |
Example
<terrain elevation="246" azimuth="176" tilt="3.1" />
Horizon
Element: <horizon>
Namespace: http://solargis.info/schema/common-geo.xsd
Description: The
<horizon>
element allows users to define a custom skyline to account for distant or nearby obstructions, such as hills, trees, buildings, or poles.Content:
A string containing a space-delimited list of azimuth and horizon height pairs in the format [azimuth in degrees: 0-360]:[horizon height in degrees: 0-90].
Example
<geo:horizon>0:3.6 123:5.6 359:6</geo:horizon>
FAQs about the horizon
How to remove shading losses due to terrain horizon from the long-term avereged data?
Just send completely flat horizon in the XML request: <horizon>0:0 365:0</horizon>
Is it possible to get Solargis horizon data from the XML response?
No, it is not possible to obtain Solargis horizon data from the XML response if it was not included in the XML request. When a customer does not include a horizon definition in the XML request, the XML response will not contain the horizon data used for the PV calculation. However, if a customer includes their custom horizon data (downloaded from Solargis Prospect or another source) in the XML request, the XML response will show the same horizon data to confirm that it was used.
PV array geometry
Element: <geometry>
Namespace: http://solargis.info/schema/common-pv.xsd
Description: The
<geometry>
element specifies the mounting type of the PV system, which is used for calculating GTI (Global Tilted Irradiation) and PVOUT (Photovoltaic Output). If this element is omitted and GTI/PVOUT is requested, flat-lying PV panels are assumed (GTI = GHI).Content: None (attributes only).
Attributes
Attribute | Required | Description | Default/Example |
---|---|---|---|
| Yes | Specifies the mounting geometry type. Accepted values are: | Example: pv: |
| No | True geographical azimuth in degrees (0° = North, 90° = East, 180° = South, 270° = West). Required for | Example: |
| No | Tilt of the panel surface in degrees (0° = horizontal, 90° = vertical). Required for | Example: |
| No | Tilt of the inclined rotating axis in degrees (0° = horizontal, 90° = vertical). Applicable only to GeometryOneAxisInclinedNS. Defaults to 30°. | Example: |
Examples
Fixed-angle geometry:
<pv:geometry xsi:type="pv:GeometryFixedOneAngle" azimuth="180" tilt="25"/>
Horizontal single-axis tracker:
<pv:geometry xsi:type="pv:GeometryOneAxisHorizontalNS" azimuth="180"/>
Inclined single-axis tracker:
<pv:geometry xsi:type="pv:GeometryOneAxisInclinedNS" axisTilt="30" azimuth="180"/>
Vertical single-axis tracker:
<pv:geometry xsi:type="pv:GeometryOneAxisVertical" tilt="25"/>
Two-axis astronomical tracker:
<pv:geometry xsi:type="pv:GeometryTwoAxisAstronomical"/>
PV System
Element: <system>
Namespace: http://solargis.info/schema/common-pv.xsd
Description: The
<system>
element defines the parametrization of the PV system and is required for simulating the PVOUT parameter.Content:
Required elements:
<module>
: Specifies the characteristics of the PV modules.<inverter>
: Defines the inverter properties.<losses>
: Details losses in the PV system.
Attributes
Attribute | Required | Description | Default/Example |
---|---|---|---|
| Yes | Total installed DC power of the PV system in kilowatts-peak (kWp). Must be greater than zero. The value represents the sum of panel ratings measured under STC. | Example: |
| No | Installation type of the PV system. Accepted values are | Default: |
| Yes | PV system availability [%] | Example: |
PV Module
Element: <module>
Namespace: http://solargis.info/schema/common-pv.xsd
Description: Parametrization of the PV system modules. All modules in one PV system are considered of the same type.
Content: None (attributes only)
Attributes
Attribute | Required | Description | Default/Example |
---|---|---|---|
| Yes | Enumerated codes for materials used in PV modules. Use 'CSI' for crystalline silicon, 'ASI' for amorphous silicon, 'CDTE' for cadmium telluride, 'CIS' for copper indium selenide. For the estimate of module's surface reflectance we use an approach described here. | Example: |
Inverter
Element: <inverter>
Namespace: http://solargis.info/schema/common-pv.xsd
Description: The
<inverter>
element defines the properties of the PV system inverter and is required for simulating the PVOUT parameter. All inverters in a single system are assumed to be identical.Content:
<efficiency>
: Specifies inverter efficiency modeling.
Inverter efficiency
Element: <efficiency>
Namespace: http://solargis.info/schema/common-pv.xsd
Description: The
<efficiency>
element specifies how inverter efficiency is modeled. If omitted, efficiency defaults to a constant 97.5%.Content: None (attributes only).
Attributes
Attribute | Required | Description | Example |
---|---|---|---|
| Yes | Efficiency modeling type. Accepted values: |
|
| No | Required for |
|
Examples
Constant efficiency:
<efficiency xsi:type="pv:EfficiencyConstant" value="97.5"/>
PV losses
Element: <losses>
Namespace: http://solargis.info/schema/common-pv.xsd
Description: The
<losses>
element estimates power losses in the PV system. If omitted, default loss values are applied.Content: None (attributes only)
Attributes
Attribute | Required | Description | Example |
---|---|---|---|
| Yes | Overall estimated losses on the DC side [%] |
|
| Yes | Overall estimated losses on the AC side [%] |
|
Example
<pv:losses dc="5.5" ac="1.5"/>
XML response
The root element of the XML response is <calculateResponse>
, which contains:
The
<site>
element from the XML request together withterrain
,horizon
,geometry
andsystem
sub elements.The
irradiation
element with its sub elements:reference
: Climate reference data for the location.inplane
: Section about POA irradiance and its compoments including shading losses.comparison
: Comparison of multiple scenarios of the PV mounting geometry towards the optimal solution.optimum
: Optimum tilt angle calculated by Solargis for the requested location.
The
calculation
element with its sub elements:output
: PV energy output in long-term averaged monthly, daily and yearly values for both the nominal output per 1 kWp installed (in kWh/kWp) and for the total installed capacity (in kWh), plus the calculated performance ratio (in %).losses
: Breakdown of PV losses (in absolute and relative values) caused by different factors.
XML response example
<ns3:calculateResponse xmlns="http://geomodel.eu/schema/common/geo" xmlns:ns2="http://geomodel.eu/schema/common/pv" xmlns:ns3="http://geomodel.eu/schema/ws/pvplanner">
<ns3:site lat="48.61259" lng="20.827079">
<terrain elevation="246" tilt="3.1" azimuth="176"/>
<horizon>11.11:18.0 7.5:15.53 15.0:10.94 22.5:10.59 30.0:13.06 37.5:14.47 45.0:14.47 52.5:13.76 60.0:12.35 67.5:11.29 75.0:8.12 82.5:4.59 90.0:1.41 97.5:0.35 105.0:0.35 112.5:0.35 120.0:0.35 127.5:0.35 135.0:0.0 142.5:0.0 150.0:0.35 157.5:1.41 165.0:2.47 172.5:2.47 180.0:2.82 187.5:3.18 195.0:2.82 202.5:2.47 210.0:2.47 217.5:2.47 225.0:3.18 232.5:3.18 240.0:2.47 247.5:2.12 255.0:2.12 262.5:2.82 270.0:3.88 277.5:6.71 285.0:8.47 292.5:10.24 300.0:11.29 307.5:12.71 315.0:14.12 322.5:15.53 330.0:16.24 337.5:16.94 345.0:17.29 352.5:17.29</horizon>
<ns2:geometry xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ns2:GeometryFixedOneAngle" tilt="45.0" azimuth="175"/>
<ns2:system installedPower="1.0" installationType="ROOF_MOUNTED" availability="99.0">
<ns2:module type="CSI"/>
<ns2:inverter>
<ns2:efficiency xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ns2:EfficiencyConstant" percent="97.5"/>
</ns2:inverter>
<ns2:losses dc="5.5" ac="1.5"/>
</ns2:system>
</ns3:site>
<ns3:irradiation>
<ns3:reference>
<ns3:Ghm monthly="31.9 50.2 97.6 126.8 158.7 169.3 166.4 153.5 103.2 66.7 34.0 24.0" yearly="1182.3"/>
<ns3:Ghd monthly="1.03 1.79 3.15 4.23 5.12 5.64 5.37 4.95 3.44 2.15 1.13 0.77" yearly="3.24"/>
<ns3:Dhd monthly="0.57 0.92 1.47 2.05 2.50 2.76 2.65 2.26 1.67 1.10 0.66 0.46" yearly="1.59"/>
<ns3:Td monthly="-1.9 0.2 4.5 10.4 15.1 19.0 20.6 20.1 14.9 9.5 4.4 -0.6" yearly="9.7"/>
<ns3:Tmin monthly="-3.6 -2.3 0.8 5.5 10.1 13.8 15.3 14.8 10.6 6.1 2.5 -1.9"/>
<ns3:Tmax monthly="0.6 3.5 8.6 15.0 19.7 23.5 25.3 25.3 19.8 14.0 7.4 1.5"/>
<ns3:invar monthly="-1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0" yearly="-1.0"/>
<ns3:Rh monthly="83.0 77.0 67.0 61.0 64.0 64.0 64.0 65.0 72.0 78.0 85.0 85.0" yearly="72.0"/>
<ns3:Pwat monthly="81.0 84.0 90.0 123.0 175.0 229.0 258.0 253.0 197.0 155.0 123.0 92.0" yearly="155.0"/>
<ns3:Dnim monthly="51.6 66.6 107.3 110.0 124.8 129.0 127.0 135.2 99.7 79.5 45.3 38.1" yearly="1114.2"/>
<ns3:Dnid monthly="1.66 2.38 3.46 3.67 4.03 4.30 4.10 4.36 3.32 2.57 1.51 1.23" yearly="3.05"/>
<ns3:Alb monthly="0.22 0.21 0.14 0.16 0.18 0.18 0.17 0.17 0.17 0.16 0.14 0.16" yearly="0.17"/>
<ns3:Ws monthly="2.1 2.3 2.6 2.6 2.4 2.3 2.1 2.0 2.2 2.1 2.0 2.0" yearly="2.2"/>
<ns3:Prec monthly="38.9 42.9 45.7 72.9 104.3 103.2 123.0 97.0 72.8 58.8 53.5 44.3" yearly="857.2"/>
</ns3:reference>
<ns3:inplane>
<ns3:Gim monthly="64.0 84.0 132.9 142.5 156.3 158.2 159.9 165.4 129.3 102.0 61.0 48.9" yearly="1404.4"/>
<ns3:Gid monthly="2.06 3.00 4.29 4.76 5.04 5.27 5.16 5.34 4.31 3.28 2.02 1.58" yearly="3.85"/>
<ns3:Did monthly="0.69 1.05 1.58 2.04 2.34 2.53 2.46 2.24 1.74 1.23 0.77 0.55" yearly="1.60"/>
<ns3:Rid monthly="0.03 0.06 0.07 0.10 0.14 0.15 0.14 0.13 0.09 0.05 0.02 0.02" yearly="0.08"/>
<ns3:ShLoss monthly="0.5 0.5 0.6 0.6 0.7 0.6 0.6 0.6 0.6 0.6 0.6 0.6" yearly="0.6"/>
</ns3:inplane>
<ns3:comparison>
<ns3:horizontal yearlySum="1182.0" percentOpt="83.8"/>
<ns3:optimum yearlySum="1410.0" percentOpt="100.0"/>
<ns3:tracker2x yearlySum="1659.0" percentOpt="117.7"/>
<ns3:selected yearlySum="1404.0" percentOpt="99.6"/>
</ns3:comparison>
<ns3:optimum fixed="32.0"/>
</ns3:irradiation>
<ns3:calculation>
<ns3:output>
<ns3:Esm monthly="58.7 74.8 113.9 117.7 126.3 125.8 126.5 131.4 106.3 87.4 54.4 45.0" yearly="1168.2"/>
<ns3:Esd monthly="1.89 2.67 3.67 3.92 4.07 4.19 4.08 4.24 3.54 2.82 1.81 1.45" yearly="3.20"/>
<ns3:Etm monthly="59.0 75.0 114.0 118.0 126.0 126.0 126.0 131.0 106.0 87.0 54.0 45.0" yearly="1168.0"/>
<ns3:Eshare monthly="5.0 6.4 9.8 10.1 10.8 10.8 10.8 11.2 9.1 7.5 4.7 3.9" yearly="100.0"/>
<ns3:PR monthly="91.2 88.5 85.2 82.1 80.3 79.0 78.6 79.0 81.7 85.2 88.7 91.6" yearly="82.7"/>
</ns3:output>
<ns3:losses>
<ns3:global output="1413" PRp="100.0" PRc="100.0"/>
<ns3:terrain output="1404" lossAbs="-9" lossRel="-0.64" PRp="99.4" PRc="99.4"/>
<ns3:angular output="1363" lossAbs="-41" lossRel="-2.92" PRp="97.1" PRc="96.5"/>
<ns3:conversion output="1300" lossAbs="-63" lossRel="-4.62" PRp="95.4" PRc="92.0"/>
<ns3:dcLoss output="1229" lossAbs="-71" lossRel="-5.46" PRp="94.5" PRc="87.0"/>
<ns3:inverter output="1198" lossAbs="-31" lossRel="-2.52" PRp="97.5" PRc="84.8"/>
<ns3:acLoss output="1180" lossAbs="-18" lossRel="-1.5" PRp="98.5" PRc="83.5"/>
<ns3:availability output="1168" lossAbs="-12" lossRel="-1.02" PRp="99.0" PRc="82.7"/>
<ns3:total output="1168" lossAbs="-245" lossRel="-17.34" PRc="82.7"/>
</ns3:losses>
</ns3:calculation>
<ns3:summary>PV system: 1.0 kWp, crystalline silicon, fixed roof, azim. 175&deg; (south), inclination 45&deg;</ns3:summary>
</ns3:calculateResponse>