Child pages
  • Solargis API User Guide

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Data Delivery Web Service

XML request

Root

element namedataDeliveryRequest
defined inhttp://solargis.info/schema/ws-data.xsd
descriptionThe root element of the XML request is the <dataDeliveryRequest> with required attributes 'dateFrom' and 'dateTo' for setting desired data period in the response. Accepted is a date string in the form of  ''YYYY-mm-dd" e.g., "2017-09-30". It is assumed UTC (GMT+00) time zone for both dates unless otherwise specified by the <timeZone> element of the <processing>. 
contentrequired one <site> , required one <processing>
@dateFrom*start of the data period, ''YYYY-mm-dd"
@dateTo*end of the data period, ''YYYY-mm-dd"

Explanation of the table above: The element name is that what you can see in the XML request. If the element is of simple type, the content is a literal (text or number), otherwise the content can be list of another <element> or none. Attribute of the element is prefixed by '@' character. Required attribute is marked by '*' character.

Processing

element nameprocessing
defined inhttp://solargis.info/schema/data-request.xsd
descriptionComplex element with instructions about how response should be generated.
contentoptional one <timeZone>, optional one <timestampType>
@summarization*required, time frequency in the response. One of YEARLY, MONTHLY, DAILY, HOURLY, MIN_30, MIN_15, MIN_10, MIN_5
@key*required, list of output data parameters. Example: key="GHI GTI TEMP WS PVOUT". See below table for all supported parameters.
@terrainShadingoptional, boolean, if 'true', the distant horizon taken from SRTM data is considered, default is 'false' (no horizon obstructions at all), Note: a user can also apply custom horizon data by providing <horizon> element within the <site> element

...

element nametimestampType
defined inhttp://solargis.info/schema/data-request.xsd
descriptionSimple element provides how aggregated time intervals in the response should be labeled.

Valid for [sub]hourly summarization. Intervals can be time-stamped at the center (default) or at start or at end. In other words, users can choose left or right edge of the time interval for its label (besides center).

contentrequired, one of START, CENTER, END

Site

element namesite
defined inhttp://solargis.info/schema/data-request.xsd
descriptionComplex element representing site location, optionally with a PV technology installed
contentoptional one <geometry>, optional one <system>, optional one <terrain>, optional one <horizon>
@id*required, site identification, cannot start with number, cannot have white space
@lat*required, site latitude in decimal degrees e.g, 48.61259
@lng*required, site longitude in decimal degrees e.g, 20.827079
@nameoptional, any name of the site, default is empty string

...

GeometryFixedOneAngle

GeometryOneAxisVertical

GeometryOneAxisInclinedNS

GeometryOneAxisHorizontalNS

GeometryTwoAxisAstronomical

  • fixed surface described by azimuth and tilt
  • self-shading simulation supported
  • single vertical axis tracking
  • tracks sun azimuth
  • tilted surface
  • rotation limits
  • back-tracking
  • relative column spacing applied
  • self-shading simulation not implemented
  • single inclined axis tracking
  • tracks sun azimuth
  • tilted surface
  • rotation limits
  • back-tracking
  • relative column spacing applied
  • self-shading simulation supported
  • single horizontal axis tracking
  • tracks sun azimuth
  • rotation limits
  • back-tracking
  • relative column spacing applied
  • self-shading simulation supported

  • two axes tracking
  • tracks sun elevation and azimuth
  • rotation limits both axes
  • back-tracking
  • relative column spacing applied
  • self-shading simulation not implemented

PV system

element namesystem
defined inhttp://solargis.info/schema/common-pv.xsd
description

Parametrization of the PV system. Required for simulating PVOUT parameter.

contentrequired one <module> element, required one <inverter> element, required one <losses> element, optional one <topology> element,
@installedPower*

required float value (greater than zero). Total installed DC power of the PV system in kilowatts-peak (kWp). The total PV system rating consists of a summation of the panel ratings measured in STC.

@installationTypeoptional, use one from FREE_STANDING (default), ROOF_MOUNTED, BUILDING_INTEGRATED. This property of the PV system helps to estimate how modules are cooled by air. For sloped roof with PV modules on rails tilted at the same angle as the roof choose 'ROOF_MOUNTED' value. For PV modules incorporated into building facade choose 'BUILDING_INTEGRATED' value. This option is considered as the worst ventilated. As the best ventilated option is considered 'FREE_STANDING' installation. This typically means stand-alone installation on tilted racks anchored into the ground. Also choose this option if a PV system is installed on a flat roof.
@dateStartup

optional string formatted as "yyyy-mm-dd" (example 2015-01-01). Start-up date of the PV system (unpacking of modules). This parameter is used for calculation of degradation of modules caused by aging. If omitted, the degradation is not taken into account.

@selfShading

optional, default is 'false'. The parameter affects PV power calculation for 'GeometryFixedOneAngle' geometry, then 'GeometryOneAxisInclinedNS' and 'GeometryOneAxisHorizontalNS' trackers if backTracking="false". When 'selfShading' is switched on, the simulated PV power is typically lower comparing to standalone PV construction not affected by shading from its neighbors. With trackers, always switch off 'backTracking' attribute, because the back tracking avoids self-shading.

...

element nametopology
defined inhttp://solargis.info/schema/common-pv.xsd
description

The element is for defining PV plant layout on the ground. The reason is to provide inputs for calculation of self-shading impact on PV power (e.g., how close to each other are PV constructions).

contentnone
@type*XML element type, required, concrete type of how topology should be modeled. Use one from TopologyRow (applies for the 'GeometryFixedOneAngle' geometry), TopologyColumn (use for all trackers). It is assumed trackers are spaced equally in both directions (rows and columns) creating a regular grid.
@relativeSpacing

required, unitless ratio. The attribute specifies the ratio of distance between the neighboring PV table legs and PV table width. Direction of the distance depends on whether topology is specified as TopologyRow or TopologyColumn. See picture below how to calculate the value.

@typeoptional. This parameter estimates a magnitude of loss of PV power when modules are shaded or semi-shaded. The effect depends on wiring interconnections within a module. Shading influence ranges from 0% (no influence) to 100% (full influence) and it is classified into following categories (based on the influence value):

PROPORTIONAL = 20%
UNPROPORTIONAL_1 = 40%
UNPROPORTIONAL_2 = 60%
UNPROPORTIONAL_3 = 80%
When this attribute is missing, the self-shading influence is estimated to 5%.

...

FTP data delivery

Data request CSV file must have header with parameter names on a first row. Below header, there can be unlimited number of rows with parameter values (site requests). Order of parameters is optional.

Regular data request example for monitoring

Note, there are no "fromDate" and "toDate" parameters. Date period is resolved according to contract and managed by the automated process.

...

On-time data request example

Parameters "fromDate" and "toDate" are required in this case. Such request is processed only once. Note, only radiation and temperature is requested in this case, so no PV system settings are needed. 

...

Forecast data request example

Note the usage of "forecastFromDay" and "forecastToDay" parameters. Typically data will processed each 12 hours forecasting period since today (forecastFromDay=0) up to 7 days ahead (forecastToDay=7).

...

Minimalist PV data request example for monitoring

Note, degradation is not considered (missing "dateStartup" parameter). This request will be processed each day according to schedule for any given satellite as soon as local day is finished. The DAY-1 is delivered.

...

Minimalist solar radiation data request example for monitoring

This request will be processed each day according to schedule for any given satellite as soon as local day is finished. The DAY-1 is delivered.

...

Web Services

The client (typically a computer) will send the request and wait for the response.  Developers can test various requests directly from web browser by using e.g. REST Client for Firefox or via native application like Postman. Before sending requests user must set the HTTP Method to "POST",  define endpoint URL to: https://solargis.info/ws/rest/datadelivery/request?key=demo and also set a header to "Content-Type: application/xml". Then send the examples below in the body of the request and explore response. Typically, developers will create client code to send requests and handle responses scheduled in time. For all technicalities visit this link. In the next section there are examples of XML requests. They can serve as starter templates for typical scenarios.Image Added

Figure: Calculation of relative row spacing value (= x3/x2). 

XML request examples

Example of XML request:

...

all options

Some elements or attributes are mutually exclusive and are commented-out in the listing e.g., user must decide which geometry type to simulate.

Code Block
languagexml
collapsetrue
<ws:dataDeliveryRequest dateFrom="2017-09-22" dateTo="2017-09-30"
    xmlns="http://geomodel.eu/schema/data/request"
    xmlns:ws="http://geomodel.eu/schema/ws/data"
    xmlns:geo="http://geomodel.eu/schema/common/geo"
    xmlns:pv="http://geomodel.eu/schema/common/pv"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      
    <site id="demo" lat="48.61259" lng="20.827079">
       <geo:terrain elevation="120" azimuth="180" tilt="5"/>
       <geo:horizon>0:3.6 123:5.6 359:6</geo:horizon>
       <pv:geometry xsi:type="pv:GeometryFixedOneAngle" azimuth="180" tilt="25"/>
       <!-- <pv:geometry xsi:type="pv:GeometryOneAxisHorizontalNS" rotationLimitEast="-90" rotationLimitWest="90" backTracking="true"/>  -->
       <!-- <pv:geometry xsi:type="pv:GeometryOneAxisInclinedNS" axisTilt="30" rotationLimitEast="-90" rotationLimitWest="90" backTracking="true"/> -->
       <!-- <pv:geometry xsi:type="pv:GeometryOneAxisVertical" tilt="25" rotationLimitEast="-180" rotationLimitWest="180" backTracking="true"/> -->
       <!-- <pv:geometry xsi:type="pv:GeometryTwoAxisAstronomical" rotationLimitEast="-180" rotationLimitWest="180" 
   				tiltLimitMin="10" tiltLimitMax="60" backTracking="true"/> -->
        <pv:system installedPower="1000" installationType="FREE_STANDING" dateStartup="2014-01-03" selfShading="true">
            <pv:module type="CSI">
                <pv:degradation>0.3</pv:degradation>
                <pv:degradationFirstYear>0.8</pv:degradationFirstYear>
                <pv:nominalOperatingCellTemp>45</pv:nominalOperatingCellTemp>
                <pv:PmaxCoeff>-0.38</pv:PmaxCoeff>
            </pv:module>
            <pv:inverter>
                <pv:efficiency xsi:type="pv:EfficiencyConstant" percent="97.5"/>
                <!--<pv:efficiency xsi:type="pv:EfficiencyCurve" dataPairs="0:20 50:60 100:80 150:90 233:97.5 350:97 466:96.5 583:96 700:95.5 750:93.33 800:87.5 850:82.35 900:77.8 950:73.7"/>-->
                <pv:limitationACPower>900</pv:limitationACPower>
            </pv:inverter>
            <pv:losses>
                <pv:acLosses cables="0.1" transformer="0.9"/>
                <pv:dcLosses cables="0.2" mismatch="0.3" snowPollution="3.0"/>
                <!-- <pv:dcLosses cables="0.2" mismatch="0.3" monthlySnowPollution="5 5.2 3 1 1 1 1 1 1 1 2 4"/> -->
            </pv:losses>
            <pv:topology xsi:type="pv:TopologySimple" relativeSpacing="2.4" type="UNPROPORTIONAL2"/>
            <!-- <pv:topology xsi:type="pv:TopologyColumn" relativeSpacing="2.5" type="UNPROPORTIONAL2"/> -->
        </pv:system>
    </site>   
    <processing key="GHI GTI TEMP WS PVOUT" summarization="HOURLY" terrainShading="true">
      <timeZone>GMT+01</timeZone>
      <timestampType>END</timestampType>
    </processing>  
</ws:dataDeliveryRequest>

Example of XML request: fixed mounted PV system

Code Block
languagexml
collapsetrue
<ws:dataDeliveryRequest dateFrom="2018-02-11" dateTo="2018-02-11"
    xmlns="http://geomodel.eu/schema/data/request"
    xmlns:ws="http://geomodel.eu/schema/ws/data"
    xmlns:geo="http://geomodel.eu/schema/common/geo"
    xmlns:pv="http://geomodel.eu/schema/common/pv"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      
    <site id="demo" lat="48.61259" lng="20.827079">
       <geo:terrain elevation="246" azimuth="180" tilt="2"/>
       <!--azimuth and tilt of terrain affects PVOUT values only if selfShading attribute of the system is true-->
        <pv:geometry xsi:type="pv:GeometryFixedOneAngle" tilt="25" azimuth="180"/> <!--azimuth and tilt attributes are required-->
        <pv:system installedPower="1" installationType="FREE_STANDING" selfShading="true">
		<!--by setting selfShading=true we can switch on the impact of inter-row shading on PVOUT-->
            <pv:module type="CSI"></pv:module>
            <pv:inverter></pv:inverter>
            <pv:losses></pv:losses>
        	  <pv:topology xsi:type="pv:TopologyRow" relativeSpacing="2.5" type="UNPROPORTIONAL2"/>
        </pv:system>
    </site>   
    <processing key="GTI TEMP PVOUT" summarization="HOURLY" terrainShading="true">
           <timeZone>GMT+01</timeZone>
        <timestampType>CENTER</timestampType>
    </processing>  
</ws:dataDeliveryRequest>

Example of XML request: tracking PV system with one horizontal axis in the north-south direction

Code Block
languagexml
collapsetrue
<ws:dataDeliveryRequest dateFrom="2018-02-11" dateTo="2018-02-11"
    xmlns="http://geomodel.eu/schema/data/request"
    xmlns:ws="http://geomodel.eu/schema/ws/data"
    xmlns:geo="http://geomodel.eu/schema/common/geo"
    xmlns:pv="http://geomodel.eu/schema/common/pv"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <site id="demo" lat="48.61259" lng="20.827079">
        <pv:geometry xsi:type="pv:GeometryOneAxisHorizontalNS" rotationLimitEast="-90" rotationLimitWest="90" backTracking="true"/>
		<!-- rotation limits are defined as tilt of tracker table relative to its central position (horizontal=0 deg.), limits are usually symmetrical-->
        <pv:system installedPower="1" installationType="FREE_STANDING" selfShading="false">
        <!--by setting selfShading=true and backTtracking=false we can switch on the impact of inter-row shading on PVOUT-->
            <pv:module type="CSI"></pv:module>
            <pv:inverter></pv:inverter>
            <pv:losses></pv:losses>
            <pv:topology xsi:type="pv:TopologyColumn" relativeSpacing="2.5" type="UNPROPORTIONAL2"/>
        </pv:system>
    </site>   
    <processing key="GTI PVOUT TEMP" summarization="HOURLY" terrainShading="true">
           <timeZone>GMT+01</timeZone>
        <timestampType>CENTER</timestampType>
    </processing>  
</ws:dataDeliveryRequest>

Example of XML request: tracking PV system with one inclined axis in the north-south direction

Code Block
languagexml
collapsetrue
<ws:dataDeliveryRequest dateFrom="2018-02-11" dateTo="2018-02-11"
    xmlns="http://geomodel.eu/schema/data/request"
    xmlns:ws="http://geomodel.eu/schema/ws/data"
    xmlns:geo="http://geomodel.eu/schema/common/geo"
    xmlns:pv="http://geomodel.eu/schema/common/pv"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      
    <site id="demo" lat="48.61259" lng="20.827079">
        <pv:geometry xsi:type="pv:GeometryOneAxisInclinedNS" axisTilt="30" rotationLimitEast="-90" rotationLimitWest="90" backTracking="true"/>
		<!-- tilt of tracker axis defaults to 30 degrees if the attribute axisTilt is omitted -->
		<!-- tracker axis is tilted towards equator on each Earth hemisphere, e.g. towards 180 deg. azimuth on the Northern hemisphere, 0 deg. azimuth for the Southern hemisphere-->
		<!-- rotation limits are defined as tilt of tracker table relative to its central position (in this case inclined plane), limits are usually symmetrical-->
        <pv:system installedPower="1" installationType="FREE_STANDING" selfShading="false">
        <!--by setting selfShading=true and backTtracking=false we can switch on the impact of inter-row shading on PVOUT -->
            <pv:module type="CSI"></pv:module>
            <pv:inverter></pv:inverter>
            <pv:losses></pv:losses>
            <pv:topology xsi:type="pv:TopologyColumn" relativeSpacing="2.4" type="UNPROPORTIONAL2"/>
        </pv:system>
    </site>   
    <processing key="GTI PVOUT TEMP" summarization="HOURLY" terrainShading="true">
           <timeZone>GMT+01</timeZone>
        <timestampType>CENTER</timestampType>
    </processing>  
</ws:dataDeliveryRequest>

Example of XML request: tracking PV system with one vertical axis

Code Block
languagexml
collapsetrue
<ws:dataDeliveryRequest dateFrom="2018-02-11" dateTo="2018-02-11"
    xmlns="http://geomodel.eu/schema/data/request"
    xmlns:ws="http://geomodel.eu/schema/ws/data"
    xmlns:geo="http://geomodel.eu/schema/common/geo"
    xmlns:pv="http://geomodel.eu/schema/common/pv"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <site id="demo" lat="48.61259" lng="20.827079">
        <pv:geometry xsi:type="pv:GeometryOneAxisVertical" tilt="25" rotationLimitEast="-180" rotationLimitWest="180" backTracking="true"/>
		<!-- tilt of module defaults to 30 degrees if the attribute tilt is omitted -->
        <!--rotation limits of the vertical axis are defined relative to 0 deg. (initial tracker position) from -180 to 180 deg with -90 deg.(east) and +90 deg. (west), regardless of the hemisphere-->
        <pv:system installedPower="1" installationType="FREE_STANDING">
            <pv:module type="CSI"></pv:module>
            <pv:inverter></pv:inverter>
            <pv:losses></pv:losses>
             <pv:topology xsi:type="pv:TopologyColumn" relativeSpacing="2.5" type="UNPROPORTIONAL2"/>
			 <!--with this tracker, constructions are equally distributed in both directions, i.e. column spacing = row spacing -->
        </pv:system>
    </site>   
    <processing key="GTI PVOUT TEMP" summarization="HOURLY" terrainShading="true">
           <timeZone>GMT+01</timeZone>
        <timestampType>CENTER</timestampType>
    </processing>  
</ws:dataDeliveryRequest>

Example of XML request: tracking PV system with two axis

Code Block
languagexml
collapsetrue
<ws:dataDeliveryRequest dateFrom="2018-02-11" dateTo="2018-02-11"
    xmlns="http://geomodel.eu/schema/data/request"
    xmlns:ws="http://geomodel.eu/schema/ws/data"
    xmlns:geo="http://geomodel.eu/schema/common/geo"
    xmlns:pv="http://geomodel.eu/schema/common/pv"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <site id="demo" lat="48.61259" lng="20.827079">
        <pv:geometry xsi:type="pv:GeometryTwoAxisAstronomical" rotationLimitEast="-180" rotationLimitWest="180"  tiltLimitMin="10" tiltLimitMax="60" backTracking="true"/>
    	   <!--rotation limits of vertical axis are defined relative to 0 deg. (initial tracker position) from -180 to 180 deg with -90 deg.=east and +90 deg.=west, regardless of hemisphere-->
		   <!--rotation limits of horizontal axis defined in the range of degrees (-90, +90), relative to horizontal position of the surface (0 deg.)-->
        <pv:system installedPower="1" installationType="FREE_STANDING">
            <pv:module type="CSI"></pv:module>
            <pv:inverter></pv:inverter>
            <pv:losses></pv:losses>
             <pv:topology xsi:type="pv:TopologyColumn" relativeSpacing="1.5" type="UNPROPORTIONAL2"/>
			 <!--with this tracker, constructions are equally distributed in both directions, i.e. column spacing = row spacing -->
        </pv:system>
    </site>   
    <processing key="GTI PVOUT" summarization="DAILY" terrainShading="true">
           <timeZone>GMT+01</timeZone>
        <timestampType>CENTER</timestampType>
    </processing>  
</ws:dataDeliveryRequest>


Request Examples

FTP data delivery

Data request CSV file must have header with parameter names on a first row. Below header, there can be unlimited number of rows with parameter values (site requests). Order of parameters is optional.

Regular data request example for monitoring

Note, there are no "fromDate" and "toDate" parameters. Date period is resolved according to contract and managed by the automated process.

siteIdlatlngaltgeometryazimuthtiltsummarizationterrainShadingprocessingKeyspvModuleTechnologypvInstallationTypepvInstalledPowerpvInverterEffConstantpvModuleTempNOCTpvModuleTempCoeffPmaxpvLossesDCPollutionSnowpvLossesDCCablespvLossesDCMismatchpvLossesACTransformerpvLossesACCablepvModuleDegradationpvModuleDegradationFirstYeardateStartuppvFieldColumnSpacingRelativepvTrackerBackTrackpvTrackerRotMinpvFieldTerrainSlopepvFieldTerrainAzimuthpvFieldSelfShadingpvFieldTopologyTypeactive
PV_plant_example48.6125920.82707920OneAxisHorizontalNS00hourlyTRUEGHI GTI DIF TEMP PVOUTCSIFREE_STANDING4002098.445-0.453.520.50.90.80.50.8201507012.53TRUE-45,450.545TRUEUNPROPORTIONAL_1TRUE

On-time data request example

Parameters "fromDate" and "toDate" are required in this case. Such request is processed only once. Note, only radiation and temperature is requested in this case, so no PV system settings are needed. 

siteIdlatlngaltgeometryazimuthtiltsummarizationterrainShadingprocessingKeysfromDatetoDateactivetimeZonesatelliteTimeStamptimeStampType
Variant_448.6125920.82707920 FixedOneAngle18020min15FALSEGHI GTI DIF TEMP2012060120121130TRUE0TRUECENTER

Forecast data request example

Note the usage of "forecastFromDay" and "forecastToDay" parameters. Typically data will processed each 12 hours forecasting period since today (forecastFromDay=0) up to 7 days ahead (forecastToDay=7).

siteIdlatlnggeometryazimuthtiltsummarizationforecastFromDayforecastToDayterrainShadingprocessingKeyspvModuleTechnologypvInstallationTypepvInstalledPowerpvInverterEffConstantpvModuleTempNOCTpvModuleTempCoeffPmaxpvLossesDCPollutionSnowpvLossesDCCablespvLossesDCMismatchpvLossesACTransformerpvLossesACCablepvModuleDegradationpvModuleDegradationFirstYeardateStartuppvFieldRowSpacingRelativepvFieldColumnSpacingRelativepvTrackerBackTrackpvFieldTerrainSlopepvFieldTerrainAzimuthpvFieldSelfShadingpvFieldTopologyTypeactivepvInverterLimitationACPowertimezonetimestamptype
148.61259117.346977FixedOneAngle031hourly07TRUEGHI GTI TEMP PVOUTCSIFREE_STANDING10097.345-0.453.520.810.50.50.8201505211.731.73FALSE1180TRUEUNPROPORTIONAL_1TRUE300002START

Minimalist PV data request example for monitoring

Note, degradation is not considered (missing "dateStartup" parameter). This request will be processed each day according to schedule for any given satellite as soon as local day is finished. The DAY-1 is delivered.

siteIdlatlngaltgeometryazimuthtiltsummarizationprocessingKeyspvModuleTechnologypvInstallationTypepvInstalledPoweractive
PV_plant_example48.6125917.65040220FixedOneAngle1800hourlyGHI GTI DIF TEMP PVOUTCSIFREE_STANDING100TRUE

Minimalist solar radiation data request example for monitoring

This request will be processed each day according to schedule for any given satellite as soon as local day is finished. The DAY-1 is delivered.

siteIdlatlngaltsummarizationprocessingKeysactive
MySite148.6125917.65040220hourlyGHI DIF TEMPTRUE

Web Services

The client (typically a computer) will send the request and wait for the response.  Developers can test various requests directly from web browser by using e.g. REST Client for Firefox or via native application like Postman. Before sending requests user must set the HTTP Method to "POST",  define endpoint URL to: https://solargis.info/ws/rest/datadelivery/request?key=demo and also set a header to "Content-Type: application/xml". Then send the examples below in the body of the request and explore response. Typically, developers will create client code to send requests and handle responses scheduled in time. For all technicalities visit this link. In the next section there are examples of XML requests. They can serve as starter templates for typical scenarios.

Setting "dateFrom" and "dateTo" is required in all cases. User can control time zone for output data in two ways. Either by using "timeZone" element or by the "dateFrom" and "dateTo" attributes of "dataDeliveryRequest" element. The "timeZone" element takes precedence over "dateFrom" and "dateTo" attributes.

...

 There is no difference between historical an forecast data in case of XML request. Note, there are no "forecastFromDay" and "forecastToDay" parameters as with FTP data delivery. Instead, user can explicitly set the date period needed to be forecast-ed (max. 10 days ahead).

Example of XML response

The root element of the XML response is the <dataDeliveryResponse> element with one <site> element inside. The <site> has the 'id' attribute referencing the site in the request. The <site> consists of <metadata> section, one <columns> element and multiple <row> items. The <row> holds timestamp information in the 'dateTime' attribute and the numeric values in space-separated text value of the 'values' attribute. Values are sorted in the same order as the value of <columns> element to pair value with the parameter name.

...