aboutsummaryrefslogtreecommitdiffstats
path: root/solar.h
diff options
context:
space:
mode:
authorJon Lund Steffensen <jonlst@gmail.com>2009-11-04 20:18:31 +0100
committerJon Lund Steffensen <jonlst@gmail.com>2009-11-04 20:18:31 +0100
commit4818f331cedeba94bb769fb15fd972dc759fd31f (patch)
treea42f22851e0d0df649a324043fec5b936e3b9d8b /solar.h
downloadredshift-ng-4818f331cedeba94bb769fb15fd972dc759fd31f.tar.gz
redshift-ng-4818f331cedeba94bb769fb15fd972dc759fd31f.tar.bz2
redshift-ng-4818f331cedeba94bb769fb15fd972dc759fd31f.tar.xz
Initial import.
Diffstat (limited to 'solar.h')
-rw-r--r--solar.h33
1 files changed, 33 insertions, 0 deletions
diff --git a/solar.h b/solar.h
new file mode 100644
index 0000000..dc6e513
--- /dev/null
+++ b/solar.h
@@ -0,0 +1,33 @@
+/* solar.h */
+
+#ifndef _SOLAR_H
+#define _SOLAR_H
+
+#include <time.h>
+
+/* Model of atmospheric refraction near horizon (in degrees). */
+#define SOLAR_ATM_REFRAC 0.833
+
+#define SOLAR_ASTRO_TWILIGHT_ELEV -18.0
+#define SOLAR_NAUT_TWILIGHT_ELEV -12.0
+#define SOLAR_CIVIL_TWILIGHT_ELEV -6.0
+#define SOLAR_DAYTIME_ELEV (0.0 - SOLAR_ATM_REFRAC)
+
+typedef enum {
+ 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_time_t;
+
+double solar_elevation(time_t t, double lat, double lon);
+void solar_table_fill(time_t date, double lat, double lon, time_t *table);
+
+#endif /* ! _SOLAR_H */