Hi, I’m using gendaylit to generate a description of the sky using the meteorologic irradiance data from different sources.
Some of the data from the sources assumes a flat horizon and some has the option to select the irradiance data with the actual horizon of the location, normally simulated by just making the direct irradiance zero when the sun is under the horizon of the place.
In any case I wanted to know if there is a method or some trick to generate a better description of the sky using the custom horizon I can get from the meteo sources. Either by changing the sky or by adding geometries to the scene or any other way.
I would like that the horizon of the place affected also the diffuse light reaching my scene, not just the direct light, and also to have a realistic distribution in the sky given the horizon if possible.
This seems more of a general question regarding best practices for local geometry in daylight modeling. I’m sure the Daylighting Handbook by Christoph Reinhart offers some good guidance in this regard, but the general idea is that you want to model the surrounding buildings and reflectances with reasonable accuracy to include their effects on the building under study. This may require access to some city planning data and/or measurements conducted on site.
Thank you, Greg. I’ll take a look at the resource you shared.
In my case I was thinking more in the horizon created by far away terrain structures, like mountains. I have the local terrain geometry included in the scene, but sometimes there can be mountains or hills outside my range that occlude the sun when it is low on the horizon.
Just to clarify I am using Radiance for PV engineering so I am not really concerned about surrounding buildings or very reflective materials. I’m concerned about the topography, particularly the far features that escape the reach of my local terrain mesh.
So, given that mountains and terrain of interest are generally above the horizon (unless your site is itself atop a mountain), you should be able to modify the appropriate Tregenza or Reinhart patches in your sky based on the expected surface luminance. How you derive those luminances depends on your input data. If you have an actual terrain model with reflectances, you can simulate that by adding geometry to your sky model (Radiance scene file) and pass it to the standard input of genskyvec, which sends rays from the origin (0,0,0) into the environment to compute its distribution.
Does this make sense?
Many thanks for your answer Greg. The proposal to use genskyvec sounds very interesting, I have been developing an alternative solution which I would like to ask you about.
I have a model of the terrain, with it’s albedo data, as a mesh in my scene. It usually does not reach the far terrain that produces the horizon. The horizon profile is generated using another terrain source with lower resolution, which is evaluated at greater distances. The result of that is the horizon line in spherical coordinates (elevation and azimuth angles), like in this picture:
I wasn’t sure how to add that data into my scene. What I have done now is to project those angles into a sphere around my scene and added that as a black mesh geometry. With that now it occludes the part of the sky that is under the horizon.
Do you think would make for a somewhat accurate representation of the horizon effects? I am especially concerned about the effect of the horizon profile on the diffuse irradiation.
I think with this horizon object I can directly use the smooth gendaylit sky. Would a Reinhart sky calculated with genskyvec have some advantages over this?
My objective is running rtrace in specific points of the scene.
Your idea of a horizon mesh makes sense, and approximates reality well enough at sunset. My concern would be other times of day, so adding some albedo that corresponds to the diffuse mountain reflectance is a good idea. Similar to the reflectance of the plane that underlies your local terrain model, but not necessarily the same exact albedo. That way, the sub-ridge horizon won’t be black all times of the day.
Putting the corresponding albedo seems like a better description as you say.