Defines | Enumerations | Functions

solar.h File Reference

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.

Detailed Description

Procedures to calculate solar elevation.

Author:
Mao Yu,Jon Lund Steffensen
Date:
Saturday, July 10, 2010

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.


Enumeration Type Documentation

Solar times.

Enumerator:
SOLAR_TIME_NOON 

Uh...

SOLAR_TIME_MIDNIGHT 

Uh...

SOLAR_TIME_ASTRO_DAWN 

Uh...

SOLAR_TIME_NAUT_DAWN 

Uh...

SOLAR_TIME_CIVIL_DAWN 

Uh...

SOLAR_TIME_SUNRISE 

Uh...

SOLAR_TIME_SUNSET 

Uh...

SOLAR_TIME_CIVIL_DUSK 

Uh...

SOLAR_TIME_NAUT_DUSK 

Uh...

SOLAR_TIME_ASTRO_DUSK 

Uh...

SOLAR_TIME_MAX 

Uh...