Energy Site Simulation

With a single call to the SolarAnywhere API, the client can simulate the output of a single PV system or a list of PV systems under their license and retrieve:

  • AC Power and AC Energy Production
  • Plane of Array Irradiance (POAI)
  • Global Horizontal Irradiance (GHI), Direct Normal Irradiance (DNI) and Diffuse Horizontal Irradiance (DHI)
  • Wind Speed and Ambient Temperature
  • Solid and Liquid Precipitation
  • Snow Depth

Energy Site Simulation methods offer a set of PV simulation operations both with and without the need to first create EnergySites using the Energy Site Management methods.

Single Site Simulation

Simulation Options

Option 1: Simulate PV output based on EnergySiteIds. To learn how to create an EnergySiteId, see Energy Site Management.

import requests
from requests.auth import HTTPBasicAuth
import xml.etree.ElementTree as ET
import time


#POST Create Simulation Request
url = "https://service.solaranywhere.com/api/v2/Simulation"
userName = "your_username@your_company.com"
password = "your_password"

querystring = {"key":"your_client_key"}

payload = """<CreateSimulationRequest xmlns="http://service.solaranywhere.com/api/v2">
 <EnergySites>
  <EnergySite EnergySiteId="NZ3RTPHLJE" />
 </EnergySites>
 <SimulationOptions
  PowerModel="CprPVForm"
  ShadingModel="MonthlyPercentSolarResource" 
  OutputFields="StartTime,EndTime,PowerAC_kW,EnergyAC_kWh,
  GlobalHorizontalIrradiance_WattsPerMeterSquared,IrradianceObservationType,
  AmbientTemperature_DegreesC,AmbientTemperatureObservationType,
  WindSpeed_MetersPerSecond,WindSpeedObservationType,PlaneOfArrayIrradiance_WattsPerMeterSquared,
  SnowDepth_Meters,LiquidPrecipitation_KilogramsPerMeterSquared,
  SolidPrecipitation_KilogramsPerMeterSquared">
 <WeatherDataOptions
  WeatherDataSource="SolarAnywhere3_2"
  WeatherDataPreference = "Auto"
  PerformTimeShifting = "false"
  StartTime="2011-01-01T09:00:00-08:00"
  EndTime="2011-01-01T11:00:00-08:00"
  SpatialResolution_Degrees="0.1"
  TimeResolution_Minutes="60"/>
 </SimulationOptions>
</CreateSimulationRequest>"""

headers = {
    'content-type': "text/xml; charset=utf-8",
    'content-length': "length",
    }

response = requests.post(url,auth = HTTPBasicAuth(userName,password),data=payload,
           headers=headers,params=querystring)

root = ET.fromstring(response.content)
print(response.content)
print("-----")

publicId = root.attrib.get("SimulationId")
print(publicId)

#GET SimulationResult
url2 = "https://service.solaranywhere.com/api/v2/SimulationResult/"

requestNumber = 0
MAX_requestNumber = 100

while(requestNumber < MAX_requestNumber):
 time.sleep(5)
 data = requests.get(url2 + publicId,auth = HTTPBasicAuth(userName,password))
 radicle = ET.fromstring(data.content) 
 status = radicle.attrib.get("Status")
 print(radicle)
 if status == "Done":
 print(data.content)
 break
 else:
 requestNumber = requestNumber + 1

Option 2: Simulate PV output without first creating EnergySiteIds. This method operates asynchronously, requiring the client to POST their simulation request, then retrieve data using a GET request.

import requests
from requests.auth import HTTPBasicAuth
import xml.etree.ElementTree as ET
import time


#POST Create Simulation Request
url = "https://service.solaranywhere.com/api/v2/Simulation"
userName = "your_username@your_company.com"
password = "your_password"

querystring = {"key":"your_client_key"}

payload = """<CreateSimulationRequest xmlns="http://service.solaranywhere.com/api/v2">
 <EnergySites>
  <EnergySite Name="Sample Site" Description="Site Description">
   <Location Latitude="34.65" Longitude="-119.1" />
    <PvSystems>
     <PvSystem Albedo_Percent="17" GeneralDerate_Percent="85.00">
      <Inverters>
       <Inverter Count="1" MaxPowerOutputAC_kW="4.470000" EfficiencyRating_Percent="97.000000" />
      </Inverters>
      <PvArrays>
       <PvArray>
        <PvModules>
         <PvModule Count="1" NameplateDCRating_kW="0.22000" PtcRating_kW="0.19760" 
          PowerTemperatureCoefficient_PercentPerDegreeC="0.4" NominalOperatingCellTemperature_DegreesC="45" />
        </PvModules>
        <ArrayConfiguration Azimuth_Degrees="177.000" Tilt_Degrees="25.000" Tracking="Fixed" 
         TrackingRotationLimit_Degrees="90" ModuleRowCount="1" RelativeRowSpacing="3" />
        <SolarObstructions>
         <SolarObstruction Azimuth_Degrees="90.000" Elevation_Degrees="33.000" Opacity_Percent="80"/>
         <SolarObstruction Azimuth_Degrees="120.000" Elevation_Degrees="50.000" />
         <SolarObstruction Azimuth_Degrees="150.000" Elevation_Degrees="22.000" />
         <SolarObstruction Azimuth_Degrees="180.000" Elevation_Degrees="3.000" />
         <SolarObstruction Azimuth_Degrees="210.000" Elevation_Degrees="1.000" />
         <SolarObstruction Azimuth_Degrees="240.000" Elevation_Degrees="2.000" />
         <SolarObstruction Azimuth_Degrees="270.000" Elevation_Degrees="4.000" Opacity_Percent="70"/>
        </SolarObstructions>
        <MonthlyShadings>
         <MonthlyShading MonthNumber="1" SolarAccess_Percent="77.0"/>
         <MonthlyShading MonthNumber="2" SolarAccess_Percent="87.0"/>
         <MonthlyShading MonthNumber="3" SolarAccess_Percent="98.0"/>
         <MonthlyShading MonthNumber="4" SolarAccess_Percent="100.0"/>
         <MonthlyShading MonthNumber="5" SolarAccess_Percent="100.0"/>
         <MonthlyShading MonthNumber="6" SolarAccess_Percent="100.0"/>
         <MonthlyShading MonthNumber="7" SolarAccess_Percent="100.0"/>
         <MonthlyShading MonthNumber="8" SolarAccess_Percent="100.0"/>
         <MonthlyShading MonthNumber="9" SolarAccess_Percent="100.0"/>
         <MonthlyShading MonthNumber="10" SolarAccess_Percent="100.0"/>
         <MonthlyShading MonthNumber="11" SolarAccess_Percent="100.0"/>
         <MonthlyShading MonthNumber="12" SolarAccess_Percent="91.0"/>
        </MonthlyShadings>
       </PvArray>
      </PvArrays>
       </PvSystem>
     </PvSystems>
    </EnergySite>
  </EnergySites>
 <SimulationOptions
  PowerModel="CprPVForm"
  ShadingModel="MonthlyPercentSolarResource" 
  OutputFields="StartTime,EndTime,PowerAC_kW,EnergyAC_kWh,
  GlobalHorizontalIrradiance_WattsPerMeterSquared,IrradianceObservationType,
  AmbientTemperature_DegreesC,AmbientTemperatureObservationType,
  WindSpeed_MetersPerSecond,WindSpeedObservationType,PlaneOfArrayIrradiance_WattsPerMeterSquared,
  SnowDepth_Meters,LiquidPrecipitation_KilogramsPerMeterSquared,
  SolidPrecipitation_KilogramsPerMeterSquared">
 <WeatherDataOptions
  WeatherDataSource="SolarAnywhere3_2"
  WeatherDataPreference = "Auto"
  PerformTimeShifting = "false"
  StartTime="2011-01-01T09:00:00-08:00"
  EndTime="2011-01-01T11:00:00-08:00"
  SpatialResolution_Degrees="0.1"
  TimeResolution_Minutes="60"/>
 </SimulationOptions>
</CreateSimulationRequest>"""

headers = {
    'content-type': "text/xml; charset=utf-8",
    'content-length': "length",
    }

response = requests.post(url,auth = HTTPBasicAuth(userName,password),data=payload,
           headers=headers,params=querystring)

root = ET.fromstring(response.content)
print(response.content)
print("-----")

publicId = root.attrib.get("SimulationId")
print(publicId)

#GET SimulationResult
url2 = "https://service.solaranywhere.com/api/v2/SimulationResult/"

requestNumber = 0
MAX_requestNumber = 100

while(requestNumber < MAX_requestNumber):
 time.sleep(5)
 data = requests.get(url2 + publicId,auth = HTTPBasicAuth(userName,password))
 radicle = ET.fromstring(data.content) 
 status = radicle.attrib.get("Status")
 print(radicle)
 if status == "Done":
  print(data.content)
  break
 else:
  requestNumber = requestNumber + 1
Request

The simulation options structure allows client applications to specify the desired simulation model, shading model, output fields and weather data source. Each simulation then requires the client to specify the StartTime and EndTime. Spatial resolution is tied to the irradiance model. The time resolution returns the most granular time step available within the client license.

 

For more detail on available options, see the Complete Schema.

 

Here are a few sample Simulation request payloads using different types of weather data configurations.  For the time-based calls, time stamps are based on current clock time of 2017-11-02T00:00:00-08:00.

<CreateSimulationRequest xmlns="http://service.solaranywhere.com/api/v2">
 <EnergySites>
  <EnergySite Name="Sample Site" Description="Typical GHI Year With Monthly Sums">
   <Location Latitude="34.65" Longitude="-119.1" />
    <PvSystems>
     <PvSystem Albedo_Percent="17" GeneralDerate_Percent="85.00">
      <Inverters>
       <Inverter Count="1" MaxPowerOutputAC_kW="4.470000" EfficiencyRating_Percent="97.000000" />
      </Inverters>
     <PvArrays>
    <PvArray>
     <PvModules>
      <PvModule Count="1" NameplateDCRating_kW="0.22000" PtcRating_kW="0.19760" 
       PowerTemperatureCoefficient_PercentPerDegreeC="0.4" NominalOperatingCellTemperature_DegreesC="45" />
     </PvModules>
     <ArrayConfiguration Azimuth_Degrees="177.000" Tilt_Degrees="25.000" Tracking="Fixed" 
      TrackingRotationLimit_Degrees="90" ModuleRowCount="1" RelativeRowSpacing="3" />
     <MonthlyShadings>
      <MonthlyShading MonthNumber="1" SolarAccess_Percent="77.0"/>
      <MonthlyShading MonthNumber="2" SolarAccess_Percent="87.0"/>
      <MonthlyShading MonthNumber="3" SolarAccess_Percent="98.0"/>
      <MonthlyShading MonthNumber="4" SolarAccess_Percent="100.0"/>
      <MonthlyShading MonthNumber="5" SolarAccess_Percent="100.0"/>
      <MonthlyShading MonthNumber="6" SolarAccess_Percent="100.0"/>
      <MonthlyShading MonthNumber="7" SolarAccess_Percent="100.0"/>
      <MonthlyShading MonthNumber="8" SolarAccess_Percent="100.0"/>
      <MonthlyShading MonthNumber="9" SolarAccess_Percent="100.0"/>
      <MonthlyShading MonthNumber="10" SolarAccess_Percent="100.0"/>
      <MonthlyShading MonthNumber="11" SolarAccess_Percent="100.0"/>
      <MonthlyShading MonthNumber="12" SolarAccess_Percent="91.0"/>
     </MonthlyShadings>
    </PvArray>
   </PvArrays>
    </PvSystem>
   </PvSystems>
  </EnergySite>
 </EnergySites>
 <SimulationOptions
  PowerModel="CprPVForm"
  ShadingModel="MonthlyPercentSolarResource" 
  OutputFields="StartTime,EndTime,PowerAC_kW,EnergyAC_kWh,GlobalHorizontalIrradiance_WattsPerMeterSquared,
  AmbientTemperature_DegreesC,WindSpeed_MetersPerSecond,PlaneOfArrayIrradiance_WattsPerMeterSquared"
  SummaryOutputFields="TotalEnergy">
 <WeatherDataOptions
  WeatherDataSource="SolarAnywhereTGY2016"
  WeatherDataPreference = "Auto"
  SpatialResolution_Degrees="0.1"
  TimeResolution_Minutes="60"/>
 </SimulationOptions>
</CreateSimulationRequest>
<CreateSimulationRequest xmlns="http://service.solaranywhere.com/api/v2">
 <EnergySites>
  <EnergySite Name="Sample Site" Description="Trailing 24 Hours for O&M">
   <Location Latitude="34.65" Longitude="-119.1" />
    <PvSystems>
     <PvSystem Albedo_Percent="17" GeneralDerate_Percent="85.00">
      <Inverters>
       <Inverter Count="1" MaxPowerOutputAC_kW="4.470000" EfficiencyRating_Percent="97.000000" />
      </Inverters>
     <PvArrays>
    <PvArray>
     <PvModules>
      <PvModule Count="1" NameplateDCRating_kW="0.22000" PtcRating_kW="0.19760" 
       PowerTemperatureCoefficient_PercentPerDegreeC="0.4" NominalOperatingCellTemperature_DegreesC="45" />
     </PvModules>
     <ArrayConfiguration Azimuth_Degrees="177.000" Tilt_Degrees="25.000" Tracking="Fixed" 
      TrackingRotationLimit_Degrees="90" ModuleRowCount="1" RelativeRowSpacing="3" />
     <SolarObstructions>
      <SolarObstruction Azimuth_Degrees="90.000" Elevation_Degrees="33.000" Opacity_Percent="80"/>
      <SolarObstruction Azimuth_Degrees="120.000" Elevation_Degrees="50.000" />
      <SolarObstruction Azimuth_Degrees="150.000" Elevation_Degrees="22.000" />
      <SolarObstruction Azimuth_Degrees="180.000" Elevation_Degrees="3.000" />
      <SolarObstruction Azimuth_Degrees="210.000" Elevation_Degrees="1.000" />
      <SolarObstruction Azimuth_Degrees="240.000" Elevation_Degrees="2.000" />
      <SolarObstruction Azimuth_Degrees="270.000" Elevation_Degrees="4.000" Opacity_Percent="70"/>
     </SolarObstructions>
    </PvArray>
   </PvArrays>
    </PvSystem>
   </PvSystems>
  </EnergySite>
 </EnergySites>
 <SimulationOptions
  PowerModel="CprPVForm"
  ShadingModel="ShadeSimulator" 
  OutputFields="StartTime,EndTime,PowerAC_kW,EnergyAC_kWh,GlobalHorizontalIrradiance_WattsPerMeterSquared,
  IrradianceObservationType,AmbientTemperature_DegreesC,AmbientTemperatureObservationType,
  WindSpeed_MetersPerSecond,WindSpeedObservationType,PlaneOfArrayIrradiance_WattsPerMeterSquared,
  SnowDepth_Meters,LiquidPrecipitation_KilogramsPerMeterSquared,
  SolidPrecipitation_KilogramsPerMeterSquared">
 <WeatherDataOptions
  WeatherDataSource="SolarAnywhere3_2"
  WeatherDataPreference = "Auto"
  PerformTimeShifting = "true"
  StartTime="2017-11-01T00:00:00-08:00"
  EndTime="2017-11-02T00:00:00-08:00"
  SpatialResolution_Degrees="0.1"
  TimeResolution_Minutes="60"/>
 </SimulationOptions>
</CreateSimulationRequest>
<CreateSimulationRequest xmlns="http://service.solaranywhere.com/api/v2">
 <EnergySites>
  <EnergySite Name="Sample Site" Description="Sample Single Site 7-Day Forecast">
   <Location Latitude="34.65" Longitude="-119.1" />
    <PvSystems>
     <PvSystem Albedo_Percent="17" GeneralDerate_Percent="85.00">
      <Inverters>
       <Inverter Count="1" MaxPowerOutputAC_kW="4.470000" EfficiencyRating_Percent="97.000000" />
      </Inverters>
     <PvArrays>
    <PvArray>
     <PvModules>
      <PvModule Count="1" NameplateDCRating_kW="0.22000" PtcRating_kW="0.19760" 
       PowerTemperatureCoefficient_PercentPerDegreeC="0.4" NominalOperatingCellTemperature_DegreesC="45" />
     </PvModules>
     <ArrayConfiguration Azimuth_Degrees="177.000" Tilt_Degrees="25.000" Tracking="Fixed" 
      TrackingRotationLimit_Degrees="90" ModuleRowCount="1" RelativeRowSpacing="3" />
     <SolarObstructions>
      <SolarObstruction Azimuth_Degrees="90.000" Elevation_Degrees="33.000" Opacity_Percent="80"/>
      <SolarObstruction Azimuth_Degrees="120.000" Elevation_Degrees="50.000" />
      <SolarObstruction Azimuth_Degrees="150.000" Elevation_Degrees="22.000" />
      <SolarObstruction Azimuth_Degrees="180.000" Elevation_Degrees="3.000" />
      <SolarObstruction Azimuth_Degrees="210.000" Elevation_Degrees="1.000" />
      <SolarObstruction Azimuth_Degrees="240.000" Elevation_Degrees="2.000" />
      <SolarObstruction Azimuth_Degrees="270.000" Elevation_Degrees="4.000" Opacity_Percent="70"/>
     </SolarObstructions>
    </PvArray>
   </PvArrays>
    </PvSystem>
   </PvSystems>
  </EnergySite>
 </EnergySites>
 <SimulationOptions
  PowerModel="CprPVForm"
  ShadingModel="ShadeSimulator" 
  OutputFields="StartTime,EndTime,PowerAC_kW,EnergyAC_kWh,GlobalHorizontalIrradiance_WattsPerMeterSquared,
  IrradianceObservationType,AmbientTemperature_DegreesC,AmbientTemperatureObservationType,
  WindSpeed_MetersPerSecond,WindSpeedObservationType,PlaneOfArrayIrradiance_WattsPerMeterSquared,
  SnowDepth_Meters,LiquidPrecipitation_KilogramsPerMeterSquared,
  SolidPrecipitation_KilogramsPerMeterSquared">
 <WeatherDataOptions
  WeatherDataSource="SolarAnywhere3_2"
  WeatherDataPreference = "Auto"
  PerformTimeShifting = "true"
  StartTime="2017-11-02T00:00:00-08:00"
  EndTime="2017-11-09T00:00:00-08:00"
  SpatialResolution_Degrees="0.1"
  TimeResolution_Minutes="60"/>
 </SimulationOptions>
</CreateSimulationRequest>
<CreateSimulationRequest xmlns="http://service.solaranywhere.com/api/v2">
 <EnergySites>
  <EnergySite Name="Sample Site" Description="Sample Trailing Monthly Total">
   <Location Latitude="34.65" Longitude="-119.1" />
    <PvSystems>
     <PvSystem Albedo_Percent="17" GeneralDerate_Percent="85.00">
      <Inverters>
       <Inverter Count="1" MaxPowerOutputAC_kW="4.470000" EfficiencyRating_Percent="97.000000" />
      </Inverters>
     <PvArrays>
    <PvArray>
     <PvModules>
      <PvModule Count="1" NameplateDCRating_kW="0.22000" PtcRating_kW="0.19760" 
       PowerTemperatureCoefficient_PercentPerDegreeC="0.4" NominalOperatingCellTemperature_DegreesC="45" />
     </PvModules>
     <ArrayConfiguration Azimuth_Degrees="177.000" Tilt_Degrees="25.000" Tracking="Fixed" 
      TrackingRotationLimit_Degrees="90" ModuleRowCount="1" RelativeRowSpacing="3" />
     <MonthlyShadings>
      <MonthlyShading MonthNumber="1" SolarAccess_Percent="77.0"/>
      <MonthlyShading MonthNumber="2" SolarAccess_Percent="87.0"/>
      <MonthlyShading MonthNumber="3" SolarAccess_Percent="98.0"/>
      <MonthlyShading MonthNumber="4" SolarAccess_Percent="100.0"/>
      <MonthlyShading MonthNumber="5" SolarAccess_Percent="100.0"/>
      <MonthlyShading MonthNumber="6" SolarAccess_Percent="100.0"/>
      <MonthlyShading MonthNumber="7" SolarAccess_Percent="100.0"/>
      <MonthlyShading MonthNumber="8" SolarAccess_Percent="100.0"/>
      <MonthlyShading MonthNumber="9" SolarAccess_Percent="100.0"/>
      <MonthlyShading MonthNumber="10" SolarAccess_Percent="100.0"/>
      <MonthlyShading MonthNumber="11" SolarAccess_Percent="100.0"/>
      <MonthlyShading MonthNumber="12" SolarAccess_Percent="91.0"/>
     </MonthlyShadings>
    </PvArray>
   </PvArrays>
    </PvSystem>
   </PvSystems>
  </EnergySite>
 </EnergySites>
 <SimulationOptions
  PowerModel="CprPVForm"
  ShadingModel="MonthlyPercentSolarResource" 
  SummaryOutputFields="TotalEnergy" >
 <WeatherDataOptions
  WeatherDataSource="SolarAnywhere3_2"
  WeatherDataPreference = "Auto"
  PerformTimeShifting = "true"
  StartTime="2017-10-01T00:00:00-08:00"
  EndTime="2017-11-01T00:00:00-08:00"
  SpatialResolution_Degrees="0.1"
  TimeResolution_Minutes="60"/>
 </SimulationOptions>
</CreateSimulationRequest>
Response

The standard response will contain the following data. Depending on the OutputField or SummaryOutputField attributes included, the client can tailor the response depending on the desired data to be returned.  The sample responses below are for the GET request to SimulationResult, whereas the sample requests above are the POST files sent to Simulation.

<GetSimulationResultResponse SimulationId="CHEUE9P" Status="Done"
 RequestId="8HZ0C3P7U" xmlns="http://service.solaranywhere.com/api/v2">
 <SimulationResults>
  <SimulationResult Status="Success" EnergySiteName="Sample Site">
   <WeatherSourceInformation WeatherSiteName="SolarAnywhereTGY2016" Latitude="34.65" 
    Longitude="-119.1" Elevation_Meters="1553" />
   <Summary TotalEnergyAC_kWh="95.23125">
    <AnnualSummary>
     <Year TotalEnergyAC_kWh="95.23125">
      <Monthly MonthNumber="1" TotalEnergyAC_kWh="3.425924" />
      <Monthly MonthNumber="2" TotalEnergyAC_kWh="4.517446" />
      <Monthly MonthNumber="3" TotalEnergyAC_kWh="9.237422" />
      <Monthly MonthNumber="4" TotalEnergyAC_kWh="9.753363" />
      <Monthly MonthNumber="5" TotalEnergyAC_kWh="10.5596" />
      <Monthly MonthNumber="6" TotalEnergyAC_kWh="9.757954" />
      <Monthly MonthNumber="7" TotalEnergyAC_kWh="9.6637" />
      <Monthly MonthNumber="8" TotalEnergyAC_kWh="9.879621" />
      <Monthly MonthNumber="9" TotalEnergyAC_kWh="8.940073" />
      <Monthly MonthNumber="10" TotalEnergyAC_kWh="8.356474" />
      <Monthly MonthNumber="11" TotalEnergyAC_kWh="6.461488" />
      <Monthly MonthNumber="12" TotalEnergyAC_kWh="4.678185" />
     </Year>
    </AnnualSummary>
   </Summary>
   <SimulationPeriods TimeResolution_Minutes="60" FirstStartTime="2008-12-31T23:00:00-08:00">
    <SimulationPeriod StartTime="2009-12-31T23:00:00-08:00" EndTime="2010-01-01T00:00:00-08:00" 
     EnergyAC_kWh="0" PowerAC_kW="0" GlobalHorizontalIrradiance_WattsPerMeterSquared="0" 
     AmbientTemperature_DegreesC="3" WindSpeed_MetersPerSecond="5" 
     PlaneOfArrayIrradiance_WattsPerMeterSquared="0" />
...[Results truncated due to length of response]
<GetSimulationResultResponse SimulationId="CW8HTUF" Status="Done"
 RequestId="7MEY13QCR" xmlns="http://service.solaranywhere.com/api/v2">
 <SimulationResults>
  <SimulationResult Status="Success" EnergySiteName="Sample Site">
   <WeatherSourceInformation WeatherSiteName="SolarAnywhere3_2" Latitude="34.65"
    Longitude="-119.1" Elevation_Meters="1553" />
   <SimulationPeriods TimeResolution_Minutes="60" FirstStartTime="2017-11-01T00:00:00-08:00">
    <SimulationPeriod StartTime="2017-11-01T00:00:00-08:00" EndTime="2017-11-01T01:00:00-08:00" 
     EnergyAC_kWh="0" PowerAC_kW="0" GlobalHorizontalIrradiance_WattsPerMeterSquared="0" 
     AmbientTemperature_DegreesC="6" AmbientTemperatureObservationType="O" WindSpeed_MetersPerSecond="1" 
     WindSpeedObservationType="O" IrradianceObservationType="AN" 
     PlaneOfArrayIrradiance_WattsPerMeterSquared="0" SnowDepth_Meters="0" 
     LiquidPrecipitation_KilogramsPerMeterSquared="0" SolidPrecipitation_KilogramsPerMeterSquared="0" />
...[Results truncated due to length of response]
<GetSimulationResultResponse SimulationId="3AX5XT0" Status="Done"
 RequestId="XHD9JENZ9" xmlns="http://service.solaranywhere.com/api/v2">
 <SimulationResults>
  <SimulationResult Status="Success" EnergySiteName="Sample Site">
   <WeatherSourceInformation WeatherSiteName="SolarAnywhere3_2" Latitude="34.65"
    Longitude="-119.1" Elevation_Meters="1553" />
   <SimulationPeriods TimeResolution_Minutes="60" FirstStartTime="2017-11-02T00:00:00-08:00">
    <SimulationPeriod StartTime="2017-11-02T00:00:00-08:00" 
     EndTime="2017-11-02T01:00:00-08:00" EnergyAC_kWh="0" PowerAC_kW="0" 
     GlobalHorizontalIrradiance_WattsPerMeterSquared="0" AmbientTemperature_DegreesC="4" 
     AmbientTemperatureObservationType="O" WindSpeed_MetersPerSecond="2" WindSpeedObservationType="O" 
     IrradianceObservationType="FN" PlaneOfArrayIrradiance_WattsPerMeterSquared="0" SnowDepth_Meters="0" 
     LiquidPrecipitation_KilogramsPerMeterSquared="0" SolidPrecipitation_KilogramsPerMeterSquared="0" />
...[Results truncated due to length of response]
<GetSimulationResultResponse SimulationId="VCGAT2P" Status="Done"
 RequestId="BQF625K8W" xmlns="http://service.solaranywhere.com/api/v2">
 <SimulationResults>
  <SimulationResult Status="Success" EnergySiteName="Sample Site">
   <WeatherSourceInformation WeatherSiteName="SolarAnywhere3_2" Latitude="34.65"
    Longitude="-119.1" Elevation_Meters="1553" />
   <Summary TotalEnergyAC_kWh="9.097191">
    <AnnualSummary>
     <Year YearNumber="2017" PartialYear="true" TotalEnergyAC_kWh="9.097191">
      <Monthly MonthNumber="10" TotalEnergyAC_kWh="9.097191" />
     </Year>
    </AnnualSummary>
   </Summary>
  </SimulationResult>
 </SimulationResults>
</GetSimulationResultResponse>

Bulk Simulations

Within the set of Simulation operations, the client can perform bulk simulation using a consistent input data and time range. Each Simulation request can contain a list of EnergySiteIds or a set of individual solar sites that are defined by a specification according to input fields outlined in the Complete Schema.
 

Request
<CreateSimulationRequest xmlns="http://service.solaranywhere.com/api/v2">
 <EnergySites>
  <EnergySite EnergySiteId="NZ3RTPHLJE" />
  <EnergySite EnergySiteId="D1YVBU1PEX" /> 
  <EnergySite Name="Site 3" Description="Site Description">
   <Location Latitude="34.65" Longitude="-119.10" />
   <PvSystems>1
    <PvSystem Albedo_Percent="17" GeneralDerate_Percent="85.00">
     <Inverters>
      <Inverter Count="1" MaxPowerOutputAC_kW="4.470000" EfficiencyRating_Percent="97.000000" />
     </Inverters>
     <PvArrays>
      <PvArray>
       <PvModules>
        <PvModule Count="1" NameplateDCRating_kW="0.22000" PtcRating_kW="0.19760" PowerTemperatureCoefficient_PercentPerDegreeC="0.4" NominalOperatingCellTemperature_DegreesC="45" />
       </PvModules>
       <ArrayConfiguration Azimuth_Degrees="177.000" Tilt_Degrees="25.000" Tracking="Fixed" TrackingRotationLimit_Degrees="90" ModuleRowCount="1" RelativeRowSpacing="3" />
       <SolarObstructions>
        <SolarObstruction Azimuth_Degrees="90.000" Elevation_Degrees="33.000" Opacity_Percent="80" />
        <SolarObstruction Azimuth_Degrees="120.000" Elevation_Degrees="50.000" />
        <SolarObstruction Azimuth_Degrees="150.000" Elevation_Degrees="22.000" />
        <SolarObstruction Azimuth_Degrees="180.000" Elevation_Degrees="3.000" />
        <SolarObstruction Azimuth_Degrees="210.000" Elevation_Degrees="1.000" />
        <SolarObstruction Azimuth_Degrees="240.000" Elevation_Degrees="2.000" />
        <SolarObstruction Azimuth_Degrees="270.000" Elevation_Degrees="4.000" Opacity_Percent="70" />
       </SolarObstructions>
      </PvArray>
     </PvArrays>
    </PvSystem>
   </PvSystems>
  </EnergySite>
 </EnergySites>
 <SimulationOptions PowerModel="CprPVForm" ShadingModel="ShadeSimulator" OutputFields="StartTime,ObservationTime,EndTime,PowerAC_kW,EnergyAC_kWh,GlobalHorizontalIrradiance_WattsPerMeterSquared,DirectNormalIrradiance_WattsPerMeterSquared,DiffuseHorizontalIrradiance_WattsPerMeterSquared,IrradianceObservationType,AmbientTemperature_DegreesC,WindSpeed_MetersPerSecond">
  <WeatherDataOptions WeatherDataSource="SolarAnywhere3_2"
                       WeatherDataPreference = "Auto"
                       PerformTimeShifting = "false" StartTime="2011-01-01T09:00:00-08:00" EndTime="2011-01-01T10:00:00-08:00" SpatialResolution_Degrees="0.1" TimeResolution_Minutes="60" />
 </SimulationOptions>
</CreateSimulationRequest>
Response
<GetSimulationResultResponse SimulationId="1652LC4" Status="Done" RequestId="2TUH8AERH" xmlns="http://service.solaranywhere.com/api/v2">
  <SimulationResults>
    <SimulationResult Status="Success" EnergySiteName="Site 1">
      <WeatherSourceInformation WeatherSiteName="SolarAnywhere3_2" Latitude="34.65" Longitude="-119.1" Elevation_Meters="1553" />
      <SimulationPeriods TimeResolution_Minutes="60" FirstStartTime="2011-01-01T08:30:00-08:00">
        <SimulationPeriod StartTime="2011-01-01T08:30:00-08:00" ObservationTime="2011-01-01T09:00:00-08:00" EndTime="2011-01-01T09:30:00-08:00" EnergyAC_kWh="0.003929" PowerAC_kW="0.001548" GlobalHorizontalIrradiance_WattsPerMeterSquared="309" DirectNormalIrradiance_WattsPerMeterSquared="585" DiffuseHorizontalIrradiance_WattsPerMeterSquared="125.2" AmbientTemperature_DegreesC="0" WindSpeed_MetersPerSecond="4" IrradianceObservationType="AD" />
      </SimulationPeriods>
    </SimulationResult>
    <SimulationResult Status="Success" EnergySiteName="Site 2">
      <WeatherSourceInformation WeatherSiteName="SolarAnywhere3_2" Latitude="34.65" Longitude="-119.1" Elevation_Meters="1553" />
      <SimulationPeriods TimeResolution_Minutes="60" FirstStartTime="2011-01-01T08:30:00-08:00">
        <SimulationPeriod StartTime="2011-01-01T08:30:00-08:00" ObservationTime="2011-01-01T09:00:00-08:00" EndTime="2011-01-01T09:30:00-08:00" EnergyAC_kWh="1.871445" PowerAC_kW="1.883396" GlobalHorizontalIrradiance_WattsPerMeterSquared="309" DirectNormalIrradiance_WattsPerMeterSquared="585" DiffuseHorizontalIrradiance_WattsPerMeterSquared="125.2" AmbientTemperature_DegreesC="0" WindSpeed_MetersPerSecond="4" IrradianceObservationType="AD" />
      </SimulationPeriods>
    </SimulationResult>
    <SimulationResult Status="Success" EnergySiteName="Site 3">
      <WeatherSourceInformation WeatherSiteName="SolarAnywhere3_2" Latitude="34.65" Longitude="-119.1" Elevation_Meters="1553" />
      <SimulationPeriods TimeResolution_Minutes="60" FirstStartTime="2011-01-01T08:30:00-08:00">
        <SimulationPeriod StartTime="2011-01-01T08:30:00-08:00" ObservationTime="2011-01-01T09:00:00-08:00" EndTime="2011-01-01T09:30:00-08:00" EnergyAC_kWh="1.871445" PowerAC_kW="1.883396" GlobalHorizontalIrradiance_WattsPerMeterSquared="309" DirectNormalIrradiance_WattsPerMeterSquared="585" DiffuseHorizontalIrradiance_WattsPerMeterSquared="125.2" AmbientTemperature_DegreesC="0" WindSpeed_MetersPerSecond="4" IrradianceObservationType="AD" />
      </SimulationPeriods>
    </SimulationResult>
  </SimulationResults>
</GetSimulationResultResponse>

What’s Next?