Ewia is a tool which allows you to calculate the current position of deep-sky objects or ephemeris objects (i.e. objects which constantly change their position relative to Earth like the Planets) on the command-line. It also supports outputting it in machine-readable form for your application to post-process it in any way you find suitable.
Ewia has been written in (pure) Python 3 (upwards). I know that this might be inconvenient, as Python3 is not commonly included in current distributions. However, I am faced with a chicken-and-egg problem:
You can, of course backport it to any other language (esp. Python2) if you wish, which is probably not all that much work. However, I refuse to do it. Python2 must die for Python3 to live.
Ewia is being released under the Version 2 of the GNU General Public License. This means you may modify the code and recompile it, redistribute it - whatever you like, as long as it doesn't violate the GPL-2.
Sure. Let's say you're in Bamberg, Germany and want to know the current position of Altair.
$ ./ewia --location=Bamberg --object=Altair Position : HA 12:35:23, DEC 8°52'6'' Azimuth, Altitude : 10.2° (N), -30.7° Initial visibility : Invisible
It tells you the current hour-angle and the position that it is at the current time - it is invisible as it is below the horizon. Now what if you want to see where it is on 2009-06-22 23:00 local time? Oh, you're in Germany, so GMT+1 hour.
$ ./ewia --location=Bamberg --object=Altair "--time=2009-06-22 23:00" --tz=1 Position : HA 20:57:36, DEC 8°52'6'' Azimuth, Altitude : 121.3° (SE), 34.3° Initial visibility : Visible
Now let's say it's soon evening (2009-06-22 18:00) and you want to know when Altair rises so you can make an observation:
$ ./ewia --location=Bamberg --object=Altair "--time=2009-06-22 18:00" --tz=1 -r Position : HA 15:56:47, DEC 8°52'6'' Azimuth, Altitude : 60.2° (NE), -12.0° Initial visibility : Invisible Object rising at : 2009-06-22 20:25:00 +0100 Object setting at : 2009-06-23 7:45:00 +0100 (visible for 11:20 h:m) Visibility : 47% (53% invisible) Average visiblity per day: 11:19 h:m
So you now know it is rising at 20:25 and setting at 7:45 the next day. Where exactly will the object be at 20:25 then?
$ ./ewia --location=Bamberg --object=Altair "--time=2009-06-22 20:25" --tz=1 Position : HA 18:22:11, DEC 8°52'6'' Azimuth, Altitude : 88.5° (E), 10.3° Initial visibility : Visible
Why is the altitude at 10° you might ask - should the object not just have been risen, i.e. have an altitude of 0°? Nope. The default horizon line is at 10° -- you might want to change that according to your needs, however. Let's say in the low 25° regions above the horizon there are terrible visibility condition and you want to wait until the object has risen above 25° - when will it rise then? Nothing easier than that:
$ ./ewia --location=Bamberg --object=Altair "--time=2009-06-22 18:00" --tz=1 --rfcutoff=25 -r Position : HA 18:22:11, DEC 8°52'6'' Azimuth, Altitude : 88.5° (E), 10.3° Initial visibility : Invisible Object rising at : 2009-06-22 22:00:00 +0100 Object setting at : 2009-06-23 6:10:00 +0100 (visible for 8:09 h:m) Visibility : 34% (66% invisible) Average visiblity per day: 8:10 h:m
Now since it is summer, the sky is very bright at 22:00 - let's assume you will be able to start any observation at 23:00 and cannot observe at 4:00 (too bright). You can then further constraint your request:
$ ./ewia --location=Bamberg --object=Altair "--time=2009-06-22 18:00" --tz=1 --rfcutoff=25 --ostimewin=23:00,04:00 -r Position : HA 15:56:47, DEC 8°52'6'' Azimuth, Altitude : 60.2° (NE), -12.0° Initial visibility : Invisible Object rising at : 2009-06-22 23:00:00 +0100 Object setting at : 2009-06-23 4:05:00 +0100 (visible for 5:04 h:m) Visibility : 21% (79% invisible) Average visiblity per day: 5:04 h:m
Now let's see where ephemeris are:
$ ./ewia --location=Bamberg --object=Saturn "--time=2009-06-22 18:00" --tz=1 Absolute position : RA 11:10:39, DEC 7°31'57'' Position : HA 0:36:55, DEC 7°31'57'' Azimuth, Altitude : 193.5° (S), 47.0° Initial visibility : Visible
Cool, Saturn is visible. But how long?
$ ./ewia --location=Bamberg --object=Saturn "--time=2009-06-22 18:00" --tz=1 -r Absolute position : RA 11:10:39, DEC 7°31'57'' Position : HA 0:36:55, DEC 7°31'57'' Azimuth, Altitude : 193.5° (S), 47.0° Initial visibility : Visible Object setting at : 2009-06-22 23:00:00 +0100 (visible for 5:00 h:m) Object rising at : 2009-06-23 11:50:00 +0100 Visibility : 47% (53% invisible) Average visiblity per day: 11:10 h:m
Since this is an ephimeris object, the absolute sky position will be calculated by default every 6 hours. You can see that when you request a more verbose output:
$ ./ewia --location=Bamberg --object=Saturn "--time=2009-06-22 18:00" --tz=1 -r -v Local position : N49°53'4'', E10°53'17'' Local time : 2009-06-22 18:00:00 +0100 UT time : 2009-06-22 17:00:00 UT Local siderial time : 11:47:34 Absolute position : RA 11:10:39, DEC 7°31'57'' Position : HA 0:36:55, DEC 7°31'57'' Azimuth, Altitude : 193.5° (S), 47.0° Initial visibility : Visible Object setting at : 2009-06-22 23:00:00 +0100 (visible for 5:00 h:m) Recalculated position : 2009-06-23 0:00:00 +0100 -> RA 11:10:42, DEC 7°31'34'' Recalculated position : 2009-06-23 6:00:00 +0100 -> RA 11:10:45, DEC 7°31'12'' Object rising at : 2009-06-23 11:50:00 +0100 Recalculated position : 2009-06-23 12:00:00 +0100 -> RA 11:10:49, DEC 7°30'49'' Recalculated position : 2009-06-23 18:00:00 +0100 -> RA 11:10:52, DEC 7°30'26'' Visibility : 47% (53% invisible) Average visiblity per day: 11:10 h:m
What you you're writing an application which should parse all that data? Well, this is easy:
$ ./ewia --location=Bamberg --object=Saturn "--time=2009-06-22 18:00" --tz=1 -pq LocalPos|49.884559|10.888149|49°53'4''|10°53'17'' ObjectPos|11.177468|7.532493|11:10:39|7°31'57'' LocalTime|2009-06-22 18:00:00 +0100|2455005.208333 UTTime|2009-06-22 17:00:00 UT DaysSinceJ2000.0|3460.208333 LocalSiderialTime|11:47:34|11.792807 HourAngle|11:47:34|11.792807 Azimuth|193°28'12''|193.470123 Altitude|46°57'2''|46.950434 InitialVisibility|1
Of course rise- and fall-calculation is also possible with that:
$ ./ewia --location=Bamberg --object=Saturn "--time=2009-06-22 18:00" --tz=1 -pqr LocalPos|49.884559|10.888149|49°53'4''|10°53'17'' ObjectPos|11.177468|7.532493|11:10:39|7°31'57'' LocalTime|2009-06-22 18:00:00 +0100|2455005.208333 UTTime|2009-06-22 17:00:00 UT DaysSinceJ2000.0|3460.208333 LocalSiderialTime|11:47:34|11.792807 HourAngle|11:47:34|11.792807 Azimuth|193°28'12''|193.470123 Altitude|46°57'2''|46.950434 InitialVisibility|1 ObjectSetting|2009-06-22 23:00:00 +0100|2455005.416667|5.000000 NewEphPosition|2009-06-23 0:00:00 +0100|2455005.458333|RA 11:10:42, DEC 7°31'34''|11.178354|7.526220 NewEphPosition|2009-06-23 6:00:00 +0100|2455005.708333|RA 11:10:45, DEC 7°31'12''|11.179246|7.519913 ObjectRising|2009-06-23 11:50:00 +0100|2455005.951389 NewEphPosition|2009-06-23 12:00:00 +0100|2455005.958333|RA 11:10:49, DEC 7°30'49''|11.180144|7.513572 NewEphPosition|2009-06-23 18:00:00 +0100|2455006.208333|RA 11:10:52, DEC 7°30'26''|11.181047|7.507196 VisibilityFraction|0.465278
Say you really want to observe Saturn, but can only between 23:00 and 4:00, but it is just currently not at the sky. You can make a long-term rise/fall-calculation to predict the behaviour in the next 150 days:
$ ./ewia --location=Bamberg --object=Saturn "--time=2009-06-22 18:00" --tz=1 -r --ostimewin=23:00,04:00 --rfwindow=150 Absolute position : RA 11:10:39, DEC 7°31'57'' Position : HA 0:36:55, DEC 7°31'57'' Azimuth, Altitude : 193.5° (S), 47.0° Initial visibility : Invisible Object rising at : 2009-11-10 4:00:00 +0100 Object setting at : 2009-11-10 4:05:00 +0100 (visible for 0:05 h:m) Object rising at : 2009-11-11 4:00:00 +0100 Object setting at : 2009-11-11 4:05:00 +0100 (visible for 0:05 h:m) Object rising at : 2009-11-12 3:55:00 +0100 Object setting at : 2009-11-12 4:05:00 +0100 (visible for 0:10 h:m) Object rising at : 2009-11-13 3:50:00 +0100 Object setting at : 2009-11-13 4:05:00 +0100 (visible for 0:15 h:m) Object rising at : 2009-11-14 3:50:00 +0100 Object setting at : 2009-11-14 4:05:00 +0100 (visible for 0:15 h:m) Object rising at : 2009-11-15 3:45:00 +0100 Object setting at : 2009-11-15 4:05:00 +0100 (visible for 0:20 h:m) Object rising at : 2009-11-16 3:40:00 +0100 Object setting at : 2009-11-16 4:05:00 +0100 (visible for 0:25 h:m) Object rising at : 2009-11-17 3:40:00 +0100 Object setting at : 2009-11-17 4:05:00 +0100 (visible for 0:25 h:m) Object rising at : 2009-11-18 3:35:00 +0100 Object setting at : 2009-11-18 4:05:00 +0100 (visible for 0:30 h:m) Object rising at : 2009-11-19 3:30:00 +0100 Object setting at : 2009-11-19 4:05:00 +0100 (visible for 0:35 h:m) Visibility : 0% (100% invisible) Average visiblity per day: 0:01 h:m
And you'll notice that the object will be visible again in the second week of November.
When your local location or your sky object is not present in the built-in-catalogs, you can of course manually define the position:
$ ./ewia "--location=N1°2'3'',E2°3'4''" "--object=12:34:56,10°20'30''" "--time=2009-06-22 18:00" --tz=1 -v Local position : N1°2'3'', E2°3'4'' Local time : 2009-06-22 18:00:00 +0100 UT time : 2009-06-22 17:00:00 UT Local siderial time : 11:12:13 Absolute position : RA 12:34:56, DEC 10°20'30'' Position : HA 22:37:17, DEC 10°20'30'' Azimuth, Altitude : 64.9° (NE), 67.4° Initial visibility : Visible
If you want to access the position conveniently, just edit the EarthCatalog.py or SkyCatalog.py files to enter new objects (and send me the modified files, if you wish!).
Ewia is a neat tool to calculate the position of objects - and it is of great use to me for quickly for planning my observations in a scripted manner. Feel free to try it, play around with it and tell me what you think. Any improvements or reuqests? Please send me an email.
Version | Changes | Date |
0.01 SVN Revision 5 Download Package |
|
2009-06-22 |