Question-and-Answer Resource for the Building Energy Modeling Community
Get started with the Help page
Ask Your Question

Revision history [back]

why is max. solar altitude not at midday

With reference to this earlier question https://unmethours.com/question/4885/how-to-find-hourly-position-of-the-sun/ I have a simple EnergyPlus 8.9 model with

  • Building North Axis = 0
  • Output:Variable,*,Site Solar Hour Angle,hourly
  • Output:Variable,*,Site Solar Altitude Angle,hourly

Why when the CSV file is viewed with DView is the maximum solar altitude at 10:00 instead of midday 12:00? The Solar Hour Angle also passes through 0 degrees at 10:00. As a consqeunce the Direct Solar Radiation Rate is shifted to begin 05:00, finish 14:00 rather be centered over midday. Unfortunately I couldn't upload a screen cap because this forum says I need 10 points. Thanks for any help.

why is max. solar altitude not at midday

With reference to this earlier question https://unmethours.com/question/4885/how-to-find-hourly-position-of-the-sun/ I have a simple EnergyPlus 8.9 model with

  • Building North Axis = 0
  • Output:Variable,*,Site Solar Hour Angle,hourly
  • Output:Variable,*,Site Solar Altitude Angle,hourly

Why when the E+ CSV file is viewed with DView is the maximum solar altitude at 10:00 instead of midday 12:00? The Solar Hour Angle also passes through 0 degrees at 10:00. 10:00. image description As a consqeunce consequence the Direct Solar Radiation Rate is shifted to begin 05:00, finish 14:00 rather be centered over midday. Unfortunately I couldn't upload have tried a screen cap because this forum says I need 10 points. number of E+ US weather files in combination with a number of E+ examples.

Thanks for any help.

why is max. solar altitude not at midday

With reference to this earlier question https://unmethours.com/question/4885/how-to-find-hourly-position-of-the-sun/ I have a simple EnergyPlus 8.9 model with

  • Building North Axis = 0
  • Output:Variable,*,Site Solar Hour Angle,hourly
  • Output:Variable,*,Site Solar Altitude Angle,hourly
  • Latitude -42 (south)

Why when the E+ CSV file is viewed with DView is the maximum solar altitude at 10:00 instead of midday 12:00? The Solar Hour Angle also passes through 0 degrees at 10:00. image description As a consequence the Direct Solar Radiation Rate is shifted to begin 05:00, finish 14:00 rather be centered over midday. I have tried a number of E+ US weather files in combination with a number of E+ examples.examples & they all appear to have the same issue. This means sunshine is going to be biased towards morning facing surfaces & biased away from afternoon facing surfaces.

Thanks for any help.

why is max. solar altitude not at midday

With reference to this earlier question https://unmethours.com/question/4885/how-to-find-hourly-position-of-the-sun/ I have a simple EnergyPlus 8.9 model with

  • Building North Axis = 0
  • Output:Variable,*,Site Solar Hour Angle,hourly
  • Output:Variable,*,Site Solar Altitude Angle,hourly
  • Latitude -42 (south)

Why when the E+ CSV file is viewed with DView is the maximum solar altitude at 10:00 instead of midday 12:00? The Solar Hour Angle also passes through 0 degrees at 10:00. image description As a consequence the Direct Solar Radiation Rate is shifted to begin 05:00, finish 14:00 rather be centered over midday. I have tried a number of E+ US weather files in combination with a number of E+ examples & they all appear to have the same issue. This means sunshine is going to be biased towards morning facing surfaces & biased away from afternoon facing surfaces.

Thanks for any help.

24/4/2018 update After a day hacking away at DView C++ code I've finally gotten to the bottom of this hole I dug for myself. Some issues are my misunderstanding, but one is a bug in DView code. My main discoveries: - Although E+ creates a CSV file with its 1st column being a date/time every hour, DView completely ignores these values. DView ALWAYS starts its X axis at 1/1/0000 midday with a 1 hour time increment. This is my misunderstanding. So if I have a CSV file for a single mid winter day, it won't have the correct date/ times on the X axis. - I believe there is a DView bug in which the 1st row from the E+ CSV is ignored. It reads (& discards) the date/time cell, but forgets the other cells on the 1st row. I have fixed this bug but it may cause problems for other use-cases. This explains a 1 hour timeshift on any DView graph. - E+ often has NULL (or empty) cells in its output CSV file. DView will display a messagebox for each & every NULL value. For an annual simulation that may mean 365+ message boxes. I've changed the code to only display the messagebox once, it now displays the line number, but then no further messageboxes.

Copy the text below into a CSV file using a plain ASCII editor like Notepad:

 Date/Time,col2,col3
 07/21  01:00:00,11,50
 07/21  02:00:00,12,51
 07/21  03:00:00,13,52
 07/21  04:00:00,14,53
 07/21  05:00:00,15,54
 07/21  06:00:00,16,55
 07/21  07:00:00,17,56
 07/21  08:00:00,18,57
 07/21  09:00:00,19,58
 07/21  10:00:00,20,59
 07/21  11:00:00,21,60
 07/21  12:00:00,22,61
 07/21  13:00:00,23,62
 07/21  14:00:00,24,63
 07/21  15:00:00,25,64
 07/21  16:00:00,26,41
 07/21  17:00:00,27,42
 07/21  18:00:00,28,43
 07/21  19:00:00,29,44
 07/21  20:00:00,30,45
 07/21  21:00:00,31,46
 07/21  22:00:00,32,47
 07/21  23:00:00,33,48
 07/21  24:00:00,34,49

In DView you will NOT find either line starting at 11 & 50 resp. and the hours will be offset by two hours. The two hour offset has two components: one I've explain is a bug of ignoring the 1st row; the 2nd is just an unfortunately different interpretation of the hour format between E+ & Dview.

Some of the E+ code is 20 years old, and derived from even older programs, so it's probably not surprising these issues arise I guess.

why is max. solar altitude not at midday

With reference to this earlier question https://unmethours.com/question/4885/how-to-find-hourly-position-of-the-sun/ I have a simple EnergyPlus 8.9 model with

  • Building North Axis = 0
  • Output:Variable,*,Site Solar Hour Angle,hourly
  • Output:Variable,*,Site Solar Altitude Angle,hourly
  • Latitude -42 (south)

Why when the E+ CSV file is viewed with DView is the maximum solar altitude at 10:00 instead of midday 12:00? The Solar Hour Angle also passes through 0 degrees at 10:00. image description As a consequence the Direct Solar Radiation Rate is shifted to begin 05:00, finish 14:00 rather be centered over midday. I have tried a number of E+ US weather files in combination with a number of E+ examples & they all appear to have the same issue. This means sunshine is going to be biased towards morning facing surfaces & biased away from afternoon facing surfaces.

Thanks for any help.

24/4/2018 update After a day hacking away at DView C++ code I've finally gotten to the bottom of this hole I dug for myself. Some issues are my misunderstanding, but one is a bug in DView code. My main discoveries: - discoveries:

  • Although E+ creates a CSV file with with its 1st column being a date/time date/time every hour, DView completely ignores ignores these values. DView ALWAYS starts its its X axis at 1/1/0000 midday with a 1 1 hour time increment. This is my my misunderstanding. So if I have a CSV CSV file for a single mid winter day, it it won't have the correct date/ times on on the X axis. - axis.
  • I believe there is a DView bug in which the 1st row from the E+ CSV is ignored. It reads (& discards) the date/time cell, but forgets the other cells on the 1st row. I have fixed this bug but it may cause problems for other use-cases. This explains a 1 hour timeshift on any DView graph. - graph.
  • E+ often has NULL (or empty) cells in its output CSV file. DView will display a messagebox for each & every NULL value. For an annual simulation that may mean 365+ message boxes. I've changed the code to only display the messagebox once, it now displays the line number, but then no further messageboxes.

Copy the text below into a CSV file using a plain ASCII editor like Notepad:

 Date/Time,col2,col3
 07/21  01:00:00,11,50
 07/21  02:00:00,12,51
 07/21  03:00:00,13,52
 07/21  04:00:00,14,53
 07/21  05:00:00,15,54
 07/21  06:00:00,16,55
 07/21  07:00:00,17,56
 07/21  08:00:00,18,57
 07/21  09:00:00,19,58
 07/21  10:00:00,20,59
 07/21  11:00:00,21,60
 07/21  12:00:00,22,61
 07/21  13:00:00,23,62
 07/21  14:00:00,24,63
 07/21  15:00:00,25,64
 07/21  16:00:00,26,41
 07/21  17:00:00,27,42
 07/21  18:00:00,28,43
 07/21  19:00:00,29,44
 07/21  20:00:00,30,45
 07/21  21:00:00,31,46
 07/21  22:00:00,32,47
 07/21  23:00:00,33,48
 07/21  24:00:00,34,49

In DView you will NOT find either line starting at 11 & 50 resp. and the hours will be offset by two hours. The two hour offset has two components: one I've explain is a bug of ignoring the 1st row; the 2nd is just an unfortunately different interpretation of the hour format between E+ & Dview.

Some of the E+ code is 20 years old, and derived from even older programs, so it's probably not surprising these issues arise I guess.

why is max. solar altitude not at midday

With reference to this earlier question https://unmethours.com/question/4885/how-to-find-hourly-position-of-the-sun/ I have a simple EnergyPlus 8.9 model with

  • Building North Axis = 0
  • Output:Variable,*,Site Solar Hour Angle,hourly
  • Output:Variable,*,Site Solar Altitude Angle,hourly
  • Latitude -42 (south)

Why when the E+ CSV file is viewed with DView is the maximum solar altitude at 10:00 instead of midday 12:00? The Solar Hour Angle also passes through 0 degrees at 10:00. image description As a consequence the Direct Solar Radiation Rate is shifted to begin 05:00, finish 14:00 rather be centered over midday. I have tried a number of E+ US weather files in combination with a number of E+ examples & they all appear to have the same issue. This means sunshine is going to be biased towards morning facing surfaces & biased away from afternoon facing surfaces.

Thanks for any help.

24/4/2018 update After a day hacking away at DView C++ code I've finally gotten to the bottom of this hole I dug for myself. Some issues are my misunderstanding, but one is a bug in DView code. My main discoveries:

  • Although E+ creates a CSV file with its 1st column being a date/time every hour, DView completely ignores these values. DView ALWAYS starts its X axis at 1/1/0000 midday midnight with a 1 hour time increment. This is my misunderstanding. So if I have a CSV file for a single mid winter day, it won't have the correct date/ times on the X axis.
  • I believe there is a DView bug in which the 1st row from the E+ CSV is ignored. It reads (& discards) the date/time cell, but forgets the other cells on the 1st row. I have fixed this bug (it now reads the date but still ignores the time because E+ always works with a full 24 hour day) but it may cause problems for other use-cases. This explains a 1 hour timeshift on any DView graph.
  • E+ often has NULL (or empty) cells in its output CSV file. DView will display a messagebox for each & every NULL value. For an annual simulation that may mean 365+ message boxes. I've changed the code to only display the messagebox once, it now displays the line number, but then no further messageboxes.

Copy the text below into a CSV file using a plain ASCII editor like Notepad:

 Date/Time,col2,col3
 07/21  01:00:00,11,50
 07/21  02:00:00,12,51
 07/21  03:00:00,13,52
 07/21  04:00:00,14,53
 07/21  05:00:00,15,54
 07/21  06:00:00,16,55
 07/21  07:00:00,17,56
 07/21  08:00:00,18,57
 07/21  09:00:00,19,58
 07/21  10:00:00,20,59
 07/21  11:00:00,21,60
 07/21  12:00:00,22,61
 07/21  13:00:00,23,62
 07/21  14:00:00,24,63
 07/21  15:00:00,25,64
 07/21  16:00:00,26,41
 07/21  17:00:00,27,42
 07/21  18:00:00,28,43
 07/21  19:00:00,29,44
 07/21  20:00:00,30,45
 07/21  21:00:00,31,46
 07/21  22:00:00,32,47
 07/21  23:00:00,33,48
 07/21  24:00:00,34,49

In DView you will NOT find either line starting at 11 & 50 resp. and the hours will be offset by two hours. The two hour offset has two components: one I've explain is a bug of ignoring the 1st row; the 2nd is just an unfortunately different interpretation of the hour format between E+ & Dview.

Some of the E+ code is 20 years old, and derived from even older programs, so it's probably not surprising these issues arise I guess.

why is max. solar altitude not at midday

With reference to this earlier question https://unmethours.com/question/4885/how-to-find-hourly-position-of-the-sun/ I have a simple EnergyPlus 8.9 model with

  • Building North Axis = 0
  • Output:Variable,*,Site Solar Hour Angle,hourly
  • Output:Variable,*,Site Solar Altitude Angle,hourly
  • Latitude -42 (south)

Why when the E+ CSV file is viewed with DView is the maximum solar altitude at 10:00 instead of midday 12:00? The Solar Hour Angle also passes through 0 degrees at 10:00. image description As a consequence the Direct Solar Radiation Rate is shifted to begin 05:00, finish 14:00 rather be centered over midday. I have tried a number of E+ US weather files in combination with a number of E+ examples & they all appear to have the same issue. This means sunshine is going to be biased towards morning facing surfaces & biased away from afternoon facing surfaces.

Thanks for any help.

24/4/2018 update After a day hacking away at DView C++ code I've finally gotten to the bottom of this hole I dug for myself. Some issues are my misunderstanding, but one is a bug in DView code. My main discoveries:

  • Although E+ creates a CSV file with its 1st column being a date/time every hour, DView completely ignores these values. DView ALWAYS starts its X axis at 1/1/0000 midnight with a 1 hour time increment. This is my misunderstanding. So if I have a CSV file for a single mid winter day, it won't have the correct date/ times on the X axis.
  • I believe there is a DView bug in which the 1st row from the E+ CSV is ignored. It reads (& discards) the date/time cell, but forgets the other cells on the 1st row. I have fixed this bug (it now reads the date but still ignores the time because E+ always works with a full 24 hour day) but it may cause problems for other use-cases. This explains a 1 hour timeshift on any DView graph.
  • E+ often has NULL (or empty) cells in its output CSV file. DView will display a messagebox for each & every NULL value. For an annual simulation that may mean 365+ message boxes. I've changed the code to only display the messagebox once, it now displays the line number, but then no further messageboxes.
  • the "debug" version of DView crashes if you close/ open other files, and at exit, but users of the "release" version will be blissfully unaware of dangling C++ pointers & other nasty stuff

Copy the text below into a CSV file using a plain ASCII editor like Notepad:

 Date/Time,col2,col3
 07/21  01:00:00,11,50
 07/21  02:00:00,12,51
 07/21  03:00:00,13,52
 07/21  04:00:00,14,53
 07/21  05:00:00,15,54
 07/21  06:00:00,16,55
 07/21  07:00:00,17,56
 07/21  08:00:00,18,57
 07/21  09:00:00,19,58
 07/21  10:00:00,20,59
 07/21  11:00:00,21,60
 07/21  12:00:00,22,61
 07/21  13:00:00,23,62
 07/21  14:00:00,24,63
 07/21  15:00:00,25,64
 07/21  16:00:00,26,41
 07/21  17:00:00,27,42
 07/21  18:00:00,28,43
 07/21  19:00:00,29,44
 07/21  20:00:00,30,45
 07/21  21:00:00,31,46
 07/21  22:00:00,32,47
 07/21  23:00:00,33,48
 07/21  24:00:00,34,49

In DView you will NOT find either line starting at 11 & 50 resp. and the hours will be offset by two hours. The two hour offset has two components: one I've explain is a bug of ignoring the 1st row; the 2nd is just an unfortunately different interpretation of the hour format between E+ & Dview.

Some of the E+ code is 20 years old, and derived from even older programs, so it's probably not surprising these issues arise I guess.