I am scripting hourly interval runs of the Area Solar Radiation Tool, and need a hand understanding how to account for Local Solar Time (LST) versus Local Time (LT) within the tool.

First off, I understand the difference between Solar versus Local Time, and the practical/fundamental basis of the tool developed by Drs. Fu & Rich. For those who need some context for this question, please visit the following excellent resources:

ESRI Help on Solar Radiation Tool / PVeducation.org's Solar Time / How Solar Radiation is Calculated

Here's the question: Considering the following paragraph from the first link:

For within-day time configurations, the start and end times are displayed as solar time (units: decimal hours). Use the time conversion dialog box window to convert the local standard time and local solar time (HMS). When converting local standard time to solar time, the program accounts for equation of time.

If running this as a script, how would one construct their "TimeWithinDay" object with the above answer in mind?

I have looked into the TimeWithinDay help page, and here is the code provided as an example of how I might want to run the script:

# Name: TimeWithinDay_Ex_02.py
# Description: Execute AreaSolarRadiation using the TimeWithinDay object
# Requirements: Spatial Analyst Extension

# Import system modules
import arcpy
from arcpy import env
from arcpy.sa import *

# Set environment settings
env.workspace = "C:/sapyexamples/data"

# Set local variables
inRaster = "solar_dem"

# Create TimeWithinDay Object
day = 100
startTime = 0 
endTime = 24
myTimeWithinDay = TimeWithinDay(day, startTime, endTime)

# Check out the ArcGIS Spatial Analyst extension license

# Execute AreaSolarRadiation
outAreaSolar = AreaSolarRadiation(inRaster, "", 200, myTimeWithinDay, 14, 0.5,
                                  "NOINTERVAL", 1, "FROM_DEM", 32, 8, 8,
                                  "UNIFORM_SKY", 0.3, 0.5)

# Save the output 

Anyway, back to the question...does the above code consider the Start and End times "fed" into the tool, via the "myTimeWithinDay" object, automatically calculated into LST, or does it assume LT inputs and calculate accordingly? It notes accounting for the "Equation of Time", so what if I pass it LST times?

Given an answer to the above, is there a way to run the "dialog box window" converter for converting between LST and LT prior to (or during) the passing of Start and End times to the tool itself?

If not, I can calculate LST for LT intervals desired and feed LST times to the script to then have an hourly irradiance interval that has been calculated for LT, correct?

To help understand why I am interested in knowing how this works consider that I am wanting to base the transmissivity and diffuse fraction of empirical hourly values that were measured in Local Time. I need these two time series to match over a given hour of running the tool.

  • Welcome to GIS SE. The reputation constraint help to avoid a lot of SPAM, not to annoy people. I bet that with this question, you will soon have two upvote, so that you can edit your question with additionnal link. In any case, it is often better to copy/paste information (with the source) than solely providing a link that might get broken.
    – radouxju
    Jan 20, 2015 at 9:15

1 Answer 1


Try running the tool using the dialog box. When the tool has finished running, from the results window, right-click the result and select copy as python snippet. Paste into your code editor.

This is a good way to see how the GUI input translates into a python formatted command. This is not a direct answer to the first part of your question, but this should help provide some insight.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.