Procedures to calculate solar elevation. More...
#include "time.h"
Defines | |
#define | SOLAR_MAX_ANGLE 180.0f |
Maximum solar angle. | |
#define | SOLAR_MIN_ANGLE -180.0f |
Minimum solar angle. | |
#define | SOLAR_ATM_REFRAC 0.833 |
Model of atmospheric refraction near horizon (in degrees). | |
#define | SOLAR_ASTRO_TWILIGHT_ELEV -18.0f |
Uh.... | |
#define | SOLAR_NAUT_TWILIGHT_ELEV -12.0f |
Uh.... | |
#define | SOLAR_CIVIL_TWILIGHT_ELEV -6.0f |
Uh.... | |
#define | SOLAR_DAYTIME_ELEV (0.0f - SOLAR_ATM_REFRAC) |
Uh.... | |
#define | RAD(x) ((x)*(M_PI/180)) |
Converts degrees to radians. | |
#define | DEG(x) ((x)*(180/M_PI)) |
Converts radians to degrees. | |
Enumerations | |
enum | solar_time_t { SOLAR_TIME_NOON = 0, SOLAR_TIME_MIDNIGHT, SOLAR_TIME_ASTRO_DAWN, SOLAR_TIME_NAUT_DAWN, SOLAR_TIME_CIVIL_DAWN, SOLAR_TIME_SUNRISE, SOLAR_TIME_SUNSET, SOLAR_TIME_CIVIL_DUSK, SOLAR_TIME_NAUT_DUSK, SOLAR_TIME_ASTRO_DUSK, SOLAR_TIME_MAX } |
Solar times. More... | |
Functions | |
double | solar_elevation (double date, double lat, double lon) |
Calculates solar elevation given date, latitude, and longitude. | |
void | solar_table_fill (double date, double lat, double lon, double *table) |
Solar table initialization function, no idea. |
Procedures to calculate solar elevation.
Ported from javascript code by U.S. Department of Commerce, National Oceanic & Atmospheric Administration: http://www.srrb.noaa.gov/highlights/sunrise/calcdetails.html It is based on equations from "Astronomical Algorithms" by Jean Meeus.
enum solar_time_t |
Solar times.