def _get_utc_sun_time_deg(self, deg):
gama = <NUM_LIT:0>        <EOL>eqtime = <NUM_LIT:0>      <EOL>decl = <NUM_LIT:0>        <EOL>hour_angle = <NUM_LIT:0>  <EOL>sunrise_angle = math.pi * deg / <NUM_LIT>  <EOL>day_of_year = self.gday_of_year()<EOL>gama = <NUM_LIT> * math.pi * ((day_of_year - <NUM_LIT:1>) / <NUM_LIT>)<EOL>eqtime = <NUM_LIT> * (<NUM_LIT> + <NUM_LIT> * math.cos(gama) -<EOL><NUM_LIT> * math.sin(gama) -<EOL><NUM_LIT> * math.cos(<NUM_LIT> * gama) -<EOL><NUM_LIT> * math.sin(<NUM_LIT> * gama))<EOL>decl = (<NUM_LIT> - <NUM_LIT> * math.cos(gama) +<EOL><NUM_LIT> * math.sin(gama) -<EOL><NUM_LIT> * math.cos(<NUM_LIT> * gama) +<EOL><NUM_LIT> * math.sin(<NUM_LIT> * gama) -<EOL><NUM_LIT> * math.cos(<NUM_LIT> * gama) +<EOL><NUM_LIT> * math.sin(<NUM_LIT> * gama))<EOL>latitude = math.pi * self.location.latitude / <NUM_LIT><EOL>try:<EOL><INDENT>hour_angle = (math.acos(<EOL>math.cos(sunrise_angle) /<EOL>(math.cos(latitude) * math.cos(decl)) -<EOL>math.tan(latitude) * math.tan(decl)))<EOL><DEDENT>except ValueError:<EOL><INDENT>return -<NUM_LIT>, -<NUM_LIT><EOL><DEDENT>hour_angle = <NUM_LIT> * hour_angle / math.pi<EOL>longitude = self.location.longitude<EOL>return int(<NUM_LIT> - <NUM_LIT> * longitude - hour_angle - eqtime),int(<NUM_LIT> - <NUM_LIT> * longitude + hour_angle - eqtime)<EOL>
Return the times in minutes from 00:00 (utc) for a given sun altitude.

This is done for a given sun altitude in sunrise `deg` degrees
This function only works for altitudes sun really is.
If the sun never gets to this altitude, the returned sunset and sunrise
values will be negative. This can happen in low altitude when latitude
is nearing the poles in winter times, the sun never goes very high in
the sky there.

Algorithm from
http://www.srrb.noaa.gov/highlights/sunrise/calcdetails.html
The low accuracy solar position equations are used.
These routines are based on Jean Meeus's book Astronomical Algorithms.