Grasshopper

algorithmic modeling for Rhino

change Perez coefficients for solar radiation modelling under Ladybug or honeybee

Hi all, i have tricky issue to ask you about customizing Perez coefficient under ladybug/honeybee/Radiance. I need to improve the accuracy for solar radiation modelling for my projects. One of the solution is to adjust six sets of Perez coefficient using our measurement data for a whole year. I have checked source code of cumulative sky from ladybug and honeybee, but it seems the radiation modelling is built on Radiance gendaylit. So i checked the source code of gendaylit.c (http://www.radiance-online.org/cgi-bin/viewcvs.cgi/ray/src/gen/gend...), i found the constants coeff_perez[] that i need to replace by our coefficient. For this situation, is there anyone have experience that use customized Perez coefficients for ladybug or honeybee or Radiance? Thank you for you all in advance. 

Views: 411

Replies are closed for this discussion.

Replies to This Discussion

Which are the six Perez coefficients that you are referring to?

A typical output from gendaylit goes something like this:

void light solar
0
0
3 0.0 0.0 0.0

solar source sun
0
0
4 0.066341 -0.860010 0.505947 0.533000

void brightfunc skyfunc
2 skybright perezlum.cal
0
10 1.382e+00 3.201e-01 1.066879 -0.754821 0.015485 -0.048998 -0.089403 0.066341 -0.860010 0.505947

The values in bold are then evaluated using the equations in the file perezlum.cal inside the RAYPATH directory in Radiance..

{
     All-weather Angular Sky Luminance Distribution .

     Additional arguments required for calculation of skybright:

    A1            - diffus normalization
    A2            - ground brightness
    A3,A4,A5,A6,A7        - coefficients for the Perez model
    A8,A9,A10        - sun direction
}




skybright = wmean((Dz+1.01)^10, intersky, (Dz+1.01)^-10, A2 );

wmean(a, x, b, y) = (a*x+b*y)/(a+b);

intersky = if( (Dz-0.01),  
        A1 * (1 + A3*Exp(A4/Dz) ) * ( 1 + A5*Exp(A6*gamma) + A7*cos(gamma)*cos(gamma) ),
        A1 * (1 + A3*Exp(A4/0.01) ) * ( 1 + A5*Exp(A6*gamma) + A7*cos(gamma)*cos(gamma) ) );

This data is then mapped to the "glow" material that represents the celestial hemisphere...You can edit the climate based sky produced by Honeybee and enter your own values. The other option would be to just use gendaylit from DOS Prompt.

Dear Sarith,

Thanks for your comments. The six coefficients under gendaylit.c is from line 25 (following the link of http://www.radiance-online.org/cgi-bin/viewcvs.cgi/ray/src/gen/gend...) as below:

float coeff_perez [] is from Perez's paper in solar energy vol. 50, No.3. pp235-245, 1993. 

i would like to adjust A3, A4, A5, A6 and A7 using measurement irradiance data over a whole year for every minute or hour, and update these coefficients under the file perezlum.cal. It means i may need to re-compile gendaylit.exe, which i have no idea how to do it. 

i found radiance has another version on gendaymtx.c v2.13. it includes static const double PerezCoeff[8][20]. I am wondering which version of gendaymtx does ladybug GenCumulativeSkyMtx use. 

Thanks for your suggestions on honeybee plugin. I will take a look and see how. 

Cheers, 

Le

RSS

About

Translate

Search

Photos

  • Add Photos
  • View All

Videos

  • Add Videos
  • View All

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service