# How is the surface outside face beam solar incident angle cosine value calculated in EnergyPlus?

I output the hourly solar altitude angle, solar azimuth angle, and the Surface Outside Face Beam Solar Incident Angle Cosine Value for a window facing south. I found the surface outside face beam solar incident angle cosine value has some deviations.

Especially, at 04/11 16:30, the incident angle cosine value output from energyplus is a negative value, but according to the solar altitude angle and the amuzith angle, it should be a positive value, because the solar amuzith is smaller than 270 deg, which indicates that the direct solar beam can hit the fouth facade.

The formula for south facade I used is ：

```
cosAngle = cos(180-azimuth)*cos(altitude)
```

I also try to find the result, but I only find the function SurfCosIncAng is used to calculate the value in EnergyPlus, and I cannot find the implementation of the function SurfCosIncAng.

```
Real64 CosInc = state.dataHeatBal->SurfCosIncAng(state.dataGlobal->HourOfDay, state.dataGlobal->TimeStep, SurfNum);
```

I don't know if there is any EneryPlus developers in this forum who can answer this question.