I am trying to create a solar position routines using Dynamo 1.3.1. I am successfully getting results from Dynamo but have sense checked them to ensure that they are accurate. Unfortunately, when comparing these values to the US National Oceanic & Atmospheric Administration (NOAA) and US National Renewal Energy Laboratory (NREL) solar positioning figures, there are large discrepancies. Both NOAA & NREL agree closely with each other. Attached are screenshots of the necessary information that highlights the differences between Dynamo & NOAA’s values.
I should clarify that technically the UK is UTC/GMT between November and March (Timezone = 0) and UTC + 1 between April and October (Timezone = 1).
This is automatically incorporated within a “Daylight Savings Time” (DST) option. If a DST or similar option be available, then this should take precedent over the above paragraph or manual timezone adjustments.
I have read this from here:
“When you create a project it is possible to specify the geographic location using the street address or the latitude and longitude. This is useful for generating location-specific shadows for views that use them, such as daylight studies. The location provides a basis for weather information, which is used during daylight analysis.”
But for a more accurate information, the best would probably be to ask real specialists such as Honeybee developers:
I’m not sure how can I help with this topic but just in case Ladybug has a node which you can use to create a location from your inputs and can be useful if one is interested to study the effect of each parameter.
PS: There is slight difference between Ladybug’s sunpath algorithm and NOAA’s algorithm in the current release (0.1.9) which has been addressed and will be fixed in the next release.
I know that I haven’t replied to this topic in nearly a year and therefore it may have been rectified in subsequent releases of both Revit & Dynamo. However, with the addition of “Zero Touch” nodes in Dynamo, I have been able to implement the solar positioning code that initially provided the results that spawned this thread.
The open source code file are available from the US National Renewable Energy Laboratory (NREL) with an accuracy of zenith/azimuth angle between 0.00003° and 0.00008°!!! Better than my possible efforts. The documentation supporting this is available via:
My results align with the NOAA website to within 3 seconds (at worst). The NOAA website rounds some figures to the nearest minute and doesn’t allow for elevation, pressure or temperature change that the NREL does. Therefore I feel comfortable the results from NREL (and thus Dynamo node) are superior to NOAA.
I have published on the Dynamo Package Manager, named “Solar Positioning (NREL)”. Please let me know if this cannot be found or is not performing as expected. This only allows for a single result set to be returned, not nested, which limits it helpfulness a lot. I’m aware of the ‘ArbitraryDimensionArrayImport’ option but do not know how to apply this to a multi input & output nodes. I also tried a single nested version (commented out in the attached files) but again, lack the knowledge to achieve this. Anyone able to answer this?
The relevant C# source files are also attached for ease (you will need to change the file extensions from “.txt” to “.cs”).
Hello TomJ, I have got your package and I would like to run it in Dynamo. I aim to retrieve sun angle of a specific view in a project, in example date/time 22 of September at 10:45 AM. Location of a current Project is set. How to connect the node to see the output altitude and azimuth? I tried something like in the image attached, unfortunately I am missing something. I would appreciate some more guidance from you. Best regards,
I would love to learn Ladybug and Honeybee, still this seams to me like more steps to forward
By now following the simplest steps I got as near as this, please see the following image, but still the generated text note is only a visible point without any content. (may it be a proble of a “double” conversion to string or value…)