Astrolog 7.10 Changes

AAAAA SSSSS TTTTTTT RRRRRR OOOOO L OOOOO GGGGG

A A S S T R R O O L O O G G

A A S T R R O O L O O G

AAAAAAA SSSSS T RRRRRR O O L O O G GGGG

A A S T R R O O L O O G G

A A S S T R R O O L O O G G

A A SSSSS T R R OOOOO LLLLLLL OOOOO GGGGG

** VERSION 7.10 **

Release notes for Astrolog version 7.10 (October 2020):

Happy Full Moon everyone! :) This file describes the freeware astrology software program Astrolog version 7.10 and the additions and fixes made to it, over the previous version 7.00 which was released four months ago in June 2020. The main things in this update are a new telescope chart showing Moon phases, a compass map showing nearby cities and directions to planets, planetary moon support, and more font support.

NEW FEATURES

Here are new additions to version 7.10 that weren't in previous versions:

1. Telescope chart: Astrolog features a new chart which shows a particular section of sky, like what a telescope presents. It’s similar to the local horizon chart, except zoomed in and with more detail. It shows planet disk sizes of the Sun and Moon (and planets if you zoom in enough). This is a great way to watch solar or lunar eclipses, or transits and occultations of other bodies. (For accurate solar eclipse viewing, have topocentric positions turned on to take into account where you are on the globe.) If the Earth is unrestricted in a geocentric chart, then the Earth will be drawn as its umbra and penumbra shadows at the Moon’s distance, for lunar eclipses. This chart also shows Moon phases, which means part of the Moon will be in shadow, and the phase percentage will be displayed at the bottom of the chart. Phases can be seen on other planets too (Mercury and Venus especially, along with outer planets although they’re always close to full). Show the telescope with the new -XZ command switch, or the “Graphics / Draw Telescope” command in the Windows version.

In the Windows version, right clicking on the chart will bring up a context menu with a dozen commands, allowing one to toggle different settings which determine what things are shown in the chart. As with the local horizon chart (which shows the entire sky) the telescope chart allows you to toggle whether constellation boundaries, zodiac sign boundaries, 2D or 3D house boundaries, and the list of all stars are visible. In addition, one can toggle whether the Moon and other planets are drawn as crescents (in which the part in shadow will be drawn in dark blue) with the -XA switch setting, whether the boundaries of planets will always be visible (even when occulted or behind another planet) with the -L0 switch setting, whether the horizon line is drawn (with the -Xe switch setting), and whether a grid of dots covers the chart (with the -XL switch setting). The chart itself can reflect the local horizon (with axes of azimuth and altitude), or the ecliptic (with axes of zodiac position longitude and ecliptic latitude), determined with the -YXe switch setting.

The telescope can track a planet as it moves. An optional argument to the -XZ switch specifies the planet to keep in the middle of the chart. In the Windows version, the new field “Telescope Focuses on This Object” in the Graphics Settings dialog controls this. If a planet is not being tracked, then the section of sky being looked upon is determined by the map rotation and tilt settings. Changing these settings will move the chart view to other areas of the sky, and stop any tracking that is in place. The viewing location can also be changed by pressing the square and curly bracket hotkeys, or in the Windows version by right clicking on the window and dragging.

The number of degrees of sky that’s visible is determined by the -YXS switch setting. In the Windows version, the new “Graphics / Map Orientation / Zoom Out” and “Zoom In” commands will double or halve the number of degrees seen. These commands also zoom on other graphics charts, such as the solar system orbit, and the new nearby cities chart below.

2. Nearby cities chart: Astrolog can display a graphical version of its atlas, which plots the location of nearby cities on a map. This chart also draws directional lines toward where on Earth each planet is at its zenith. (This local space compass view is used in locational astrology, and its lines are somewhat related to the angle lines in astrocartography.) Show this chart by combining the -Nl nearest cities chart switch with -X, or in the Windows version by selecting the new “Chart / Nearest Cities” command. As with the telescope chart, you can pan and zoom the part of the earth viewed with the rotation and zoom commands and hotkeys. Right clicking on the chart will bring up a context menu allowing one to toggle different settings which determine what things are shown in the chart.

3. Planetary moons: Astrolog supports Swiss Ephemeris format ephemeris files for moons orbiting other planets (such as Saturn’s Titan and Jupiter’s Ganymede). The new -Yem switch is like -Yeb, except it references a planetary moon ephemeris file instead of an asteroid ephemeris file. Planetary moon ephemeris files have filenames like “sepm9XYZ.se1”, in which “XYZ” is the designation for the moon. In this designation, “X” is the planet being orbited (4=Mars, 5=Jupiter, 6=Saturn, 7=Uranus, 8=Neptune, 9=Pluto) and “YZ” is the moon in question. For example, “sepm9501.se1” defines Jupiter’s Moon Io. This moon can be assigned to Cupido’s object slot with “-Yem Cup 501”. Also, “moon” #99 is the true non-barycentric position of the planet, e.g. “sepm9599.se1” defines the actual position of Jupiter’s center of body taking into account the gravitational perturbations of its moons (in comparison to the standard Jupiter planet object which is the center of mass of the Jupiter system). For more about planetary moons, how to use and interpret them in astrology, and how to display them in Astrolog, see: http://www.astrolog.org/astrolog/astmoon.htm

4. Planetary moon overlay: The new -Ym switch turns on a mode such that planetary moons and other objects orbiting planets are displayed as orbiting the central object instead. This will also affect Earth’s Moon, the Moon’s Nodes, and Lilith. (In addition, when another star is the central object, planets orbiting our Sun will instead be made to orbit the other star system.) Planetary moons are usually very close to the planet they orbit, making it necessary to do a planet centered chart to get a good look at the relative orientation of its moons. In other words, this option overlays planet centered moon positions with the standard natal chart. Because a planet is a mini-solar system, there can be sympathetic connections between moons around a planet, and planets around the Sun at the same relative angle (or even between moons around different planets that are at the same relative angles).

5. Ecliptic parallels: Parallel and contraparallel aspects are usually calculated relative to equatorial declination. The new -AP switch will instead calculate parallel aspects relative to ecliptic latitude. Note that since most planets are on or near the ecliptic, aspect orbs should be very narrow to avoid most everything being parallel to everything else.

6. Nutation: Astrolog (and the Swiss Ephemeris that it uses) takes into account nutation, or the periodic subtle wobble of Earth’s axis. The new -Yn0 switch will turn nutation off for the tropical zodiac. (Nutation is always properly ignored in the fixed sidereal zodiac.)

7. Create settings file: The new -od switch will output program settings to the specified file, or in other words generate the contents of astrolog.as. Before, creating the default settings file was only available on the Windows version with the “File / Save Settings” command.

8. Window positioning: In the Windows version, the new -Ww switch (taking two parameters) will change the coordinates of the origin of the program’s window. This is a way to precisely or programmatically position or move the window.

-

Here's a summary of the 18 new command switches in Astrolog 7.10 that weren't in previous versions:

-od <file>: Output program's current settings to switch file.

-AP: Parallel aspects based on ecliptic not equatorial positions.

-XZ: Display telescope chart zoomed in on part of sky.

-Ym: Position planetary moons around current central object.

-Yn0: Don't consider nutation in tropical zodiac positions.

-Yem <obj> <index>: Change orbit of Uranian to planet moon ephemeris.

-Ww <hor> <ver>: Set upper left coordinates of window.

-~v <string>: Set adjustment for object display ordering.

-~g <string>: Set filter for aspect configurations.

-~a0 <string>: Set notification for aspect list summary.

-~m <string>: Set filter for midpoint display.

-~ma <string>: Set filter for displaying aspects to midpoints.

-~L <string>: Set filter for astro-graph latitude crossings.

-~P <string>: Set filter for Arabic parts display.

-~p[0] <string>: Set adjustment for progression offset.

-~q[1-2] <string>: Set notification before/after chart cast.

-~Q[1-2] <string>: Set notification before/after chart displayed.

-~1 <string>: Simply parse AstroExpression (don't show result).

Here's a summary of the 4 new menu commands in the Windows version of Astrolog 7.10 that weren't in previous versions:

Chart / Nearest Cities

Graphics / Draw Telescope

Graphics / Map Orientation / Zoom Out

Graphics / Map Orientation / Zoom In

EXTENDED AND IMPROVED FEATURES

A list of improvements to existing features in Astrolog 7.10, such as new things you can now do with old features that you couldn’t do before, or ways that existing features work better than before:

1. Additional fonts: Astrolog supports five different fonts for display of signs, houses, planets, and aspects. They are Astrolog’s default internal vector drawing, the Wingdings font from Windows (signs only), the Astro font by Kenneth Hirst, the EnigmaAstrology font by Jan Kampherbeek, and generic high Unicode characters. Support for the Enigma and Unicode fonts are new to this version. The -YXf switch has been extended to take a four digit number, which indicates which font to use for each area, in which 0=Astrolog, 1=Wingdings, 2=Astro, 3=Enigma, 4=Unicode. For example, the default when the “use real system fonts in graphics charts” setting is turned on is 1022, which means Wingdings for signs, Astrolog for houses, and Astro for objects and aspects. In the Windows version, the Graphics Settings dialog has new radio button groups so one can select exactly which font they want to use for each area.

2. Local horizon constellations: The graphic local horizon chart (-Z -X command switches) now supports displaying the outline of the constellations, when show constellations (the -XF switch setting) is turned on.

3. Angle house glyphs: The default graphic glyphs for the Asc/MC/Des/IC objects are those letter abbreviations. When the “cusp objects are house positions instead of angles” setting (-Yc switch) is on, then these objects will instead be the positions of the 1st/4th/7th/10th house cusps (which differ from the positions of the angles in certain house systems). When the -Yc setting is on, the default graphic glyph will instead be the number of the house cusp, and also the display text used for the object will indicate the house number instead of the angle’s name. This will make it clearer what is actually being shown, transited over, and so on.

4. Individual city colors: The new -XL5 switch will color each city an individual color (one of six colors of the rainbow). This is in comparison with the existing -XL1 through -XL4 switches which color all cities based on country/region or time zone.

5. Part of Fortune latitude: The Part of Fortune used to always be placed at 0 ecliptic latitude. Now, if 3D houses are on, then the same formula used to derive it (Asc-Sun+Moon) will be applied to set its ecliptic latitude as well.

6. Swiss Ephemeris version: Astrolog now uses Swiss Ephemeris version 2.09.03, which among other improvements includes support for accurate velocity of house cusps and related objects like the Vertex and East Point. Astrolog actually uses a modified version of it which also contains support for planetary moons.

7. TZ database updated: Astrolog’s time zone change information has been updated to use TZ database version “2020a” (instead of “2019b” which was used before). This new version has a few subtle corrections and improvements to various areas in the world.

8. Better switch errors: Command line switches give better errors. A missing argument will tell how many arguments are expected. If an argument is bad, the position of which argument will be indicated. A bad argument that’s a floating point number will be displayed as such, instead of rounded to the nearest integer.

9. Command line mouse: The Windows command line version (compiled with the WCLI compile time variable turned on) now supports clicking and dragging the mouse in the window, like how the main Windows UI version does.

PROGRAM CHANGES

A few changes that aren't new feature additions or bug fixes have been made to Astrolog 7.10, which means certain old assumptions are no longer valid. Most can be considered improvements, but they still change existing behavior. A list of these follows (which aren't useful to be aware of unless you have used previous versions of the program):

1. Menu moves: In the Windows version, there’s a new “Chart Effects” submenu on the Graphics menu, to which the Show Border, Show Chart Info, Show Info Sidebar, Show Glyph Labels, and Show Glyphs On Aspect Lines commands have been moved.

2. Menu renames: In the Windows version, the “Show Map Effects” submenu has been renamed to “Map Effects”. Also, the “Globe Tilt” submenu has been renamed to “Map Positioning”, since it covers charts other than globes, and includes rotation and zoom as well as tilt.

BUG FIXES

Here are bugs or other issues with version 7.00, all of which have been corrected in 7.10:

1. Time change computation bug: Automatic detecting of Daylight Saving Time would sometimes get confused by periods when Daylight time was on at all times, and apply the offset to the wrong time period. The time change information would even display incorrectly (with the -Nz switch, and with the “Time Changes” button in the Set Chart Info dialog) although the underlying data in timezone.as file was still correct.

2. Time change application bug: Automatic detecting of time zone would sometimes get confused, when the underlying time zone for an area changes, after the first Daylight Saving adjustment in that new period. Astrolog would show the correct time zone information and when it changes (with the -Nz switch, and the “Time Changes” button in the Set Chart Info dialog) however it wouldn’t always correctly apply the data from that list.

3. Time change display glitch: Display of time change information (as done with -Nz switch, or the “Time Changes” button in the Set Chart Info dialog) would sometimes display time changes out of chronological order, or display the same time change more than once. This would sometimes happen during years when the underlying time zone offset itself changed. The data being displayed was correct, but not arranged correctly.

4. Time change information incomplete: The previous version didn’t fully integrate all time changes in TZ database version 2019b. It left out a few changes for areas before 1970, mainly in parts of Africa. Astrolog 7.10 has fully integrated TZ database 2020a.

5. Midpoint inaccuracy: The midpoint chart (-m switch) would only display midpoints to the nearest arc second. This would only become apparent if positions were displayed in decimal form, which provides precision beyond arc seconds.

6. Star ordering omission: Certain text charts which list fixed star objects wouldn’t respect the star ordering setting (-U switch). These were the text ephemeris, Gauquelin sector, influence, esoteric, and astrocartography charts. These now respect this setting (and even the new ~v AstroExpression custom ordering switch).

7. Additional text scaling: The graphics text scale setting (-XS switch) wouldn’t be applied everywhere. For example, it wouldn’t affect object glyphs, and it wouldn’t affect the aspects in the middle of the graphic calendar chart (-K -X switches).

8. Transit graph crash: The transit to natal graphs (-V switch) would crash if the last star object (Andromeda galaxy) were included in it.

9. Command line crash: Missing command line arguments would crash instead of displaying an error in certain cases. The -Ey0 switch without arguments would crash, and the -c switch by itself would crash on non-Windows systems.

ASTROEXPRESSION UPDATES

AstroExpressions or “Astrolog Expressions” are programmable customizations that don’t require recompiling the program, and can be considered an extended form of command switches. AstroExpression functions and related command switches have been updated in version 7.10. This section can be ignored if one doesn’t use this feature area.

The following lists all new AstroExpression functions. The name of each function is listed, followed by the type of its return value and the expected types of its parameters (if any). Numbers will automatically be converted to Integer or Real as needed. “Num” means either type is handled, without any conversion needed.

Type: Bool(Num): Is real. Returns the type of Num, which means 0 if it’s integer and 1 if it’s real.

Sgn2: Num(Num): Sign. Returns the sign of a number (-1 if negative, and 1 if non-negative).

Ln: Real(Real): Logarithm. Returns the natural or base “e” logarithm of a real number.

Log10: Real(Real): Logarithm. Returns the base 10 logarithm of a real number.

Mon1, Day1, Yea1, Tim1, Dst1, Zon1, Lon1, Lat1: Int or Real: First chart. Like Mon, Day, etc, but returns chart info for chart slot #1. There are similar functions for chart slots #2 through #4. Note the difference between Mon1 which always references chart slot #1, and just Mon which is the current chart being worked with (e.g. for the current chart row in an ephemeris table).

ObjLon1, ObjLat1, ObjDir1, ObjDirY1, ObjHouse1: Int or Real: First chart. Like ObjLon, ObjLat, etc, but returns the zodiac position longitude, ecliptic latitude, etc, for chart slot #1. There are similar functions for chart slots #2 through #4.

LonHouse: Int(Real): Longitude house. Returns the house placement of a 0-360 degree zodiac position (i.e. 1-12).

LonHou3D: Real(Real, Real): Longitude 3D house. Returns the 3D house placement of a 0-360 degree zodiac position and ecliptic latitude, as a decimal value, e.g. 0.0-30.0 for 1st house.

Oblique: Real: Obliquity. Returns the obliquity of the ecliptic of the most recently cast chart, which is usually about 23.5 degrees.

SidDiff: Real: Sidereal offset. Returns the precessional offset from the tropical to sidereal zodiacs for the time of the most recently cast chart, which for current dates is about -25.0.

Context: Int: Chart context. Returns what the current or most recently cast chart was cast for. This is usually 1-4 to indicate which chart in a relationship or wheel is being cast. It can also be 0 for special case charts (like the chart cast for a progressed time), or -1 for one of many charts cast in sequence (like each interval during a transit search). This is designed for use in the ~q notification or hooks like ~O that take place during chart casting.

Version: Real: Program Version. Returns the version of Astrolog running, which is 7.10.

Switch: Int(Int): Switch macro. Runs the command switch macro, as defined with the -M0 switch. Returns whether running that macro succeeded. Remember a command switch macro (running a saved command line) is different from an AstroExpression macro (which evaluates a defined AstroExpression).

RndSeed: Int(Int): Random seed. Initializes the random number generation seed used by the Rnd function to an integer. Returns 0 always.

_A3, _Ap, _AP0, _b, _b0, _c, _c3, _s, _s0, _sr, _sr0, _h, _p, _p0, _pd, _pC, _x, _1, _3, _4, _f, _G, _J, _9, _YT, _YV, _Yh, _Ym, _Ys, _Yn, _Yn0, _Yu, _Yr, _YC, _YO, _Yc, _Yp: Bool or Int or Real: Program setting. This list of functions queries the Astrolog program setting that’s set with the identically named command switch. There are only a few exceptions or alternate behaviors: Function _AP0 is a Boolean for the -AP switch setting, and includes a “0” in its name to avoid a case insensitive name conflict with _Ap. Function _s is a boolean for the -s switch sidereal setting, while _s0 is a real for the zodiac offset ayanamsa. Function _1 is non-zero if either the -1 or -2 solar chart switches are set, and contains (1+object focused upon) if -1 switch, and (-1-object) if -2 switch.

There are several new command switches which allow one to define AstroExpression “hooks” into areas of chart calculation or display, to modify or filter their results. All AstroExpression related command switches start with the tilde (~) character:

1. ~v <string>: Adjust object ordering. Called each time a chart is cast, and allows changing the order in which objects are listed in charts. This affects all lists of objects, including aspect grids. On entry, custom variable @z is both the object index and its default ordering. Return value is ignored, although if @z is changed it will be the new ordering to use (ties are broken in favor of the object with the earlier index). For example, to always display Ceres between Mars and Jupiter (instead of after all the main planets) do: ~v "If Equ @z O_Cer =z O_Mar"

2. ~g <string>: Filter aspect configurations. Called for each aspect configuration in the -g0 aspect chart. Return value is whether to display that aspect configuration. On entry, @v is the aspect configuration (0=3 planet Stellium, 1=Grand Trine, 2=T-Square, 3=Yod, 4=Grand Cross, 5=Cradle, 6=Mystic Rectangle, 7=4 planet Stellium). Also, @w through @z are the four planets involved (@z will be -1 if the configuration only involves 3 planets). For example, to only display grand crosses and grand trines, do: ~g "Or Equ @v 1 Equ @v 4"

3. ~a0 <string>: Notify aspect list summary. Called once after the -a0 aspect list summary is displayed. On entry, @y is the total number of aspects that were displayed, and @z is the total power of all aspects. Return value is ignored. For example, if you animate a bunch of aspect list charts, you can keep track of the highest total power displayed (i.e. store it in custom variable @a) with: ~a0 "If Gt @z @a =a @z"

4. ~m <string>: Filter midpoints. Called for each midpoint in the -m midpoint chart. On entry, @w and @x are the two objects forming the midpoint, @y is the position of the midpoint, and @z is the angular difference between their positions. Returns value is whether to display that midpoint. For example, to only display midpoints located within 30 degrees of the Sun’s position, do: ~m "Lt LonDist @y ObjLon O_Sun 30.0"

5. ~ma <string>: Filter aspects to midpoints. Called for each aspect made to a midpoint (or Arabic part) in the -ma midpoint list. On entry, @v is the zodiac degree position of the midpoint, @w is its velocity, @x is the aspect being made, @y is the object being aspected, and @z is the orb between them. Return value is whether to display that aspect. For example, to only display tight aspects to the Sun or Moon, do: ~ma "And Lt Abs @z 2.0 Lte @y O_Moo"

6. ~L <string>: Filter latitude crossings. Called for each latitude crossing in the -L0 astrocartography chart. On entry, @u and @v are the longitude and latitude of the crossing point, @w and @y are the two planets whose lines are involved, and @x and @z are object indexes for angles indicating which lines are involved. For example, to only display latitude crossings involving the Ascendant within 10 degrees of the current chart’s latitude do: ~L "And Lt Abs Sub @v Lat1 10 Or Equ @x O_Asc Equ @z O_Asc"

7. ~P <string>: Filter Arabic parts. Called for each Arabic part in the -P parts list chart. On entry, @y is the index of the Arabic part (independent of the current sorting order), and @z is the zodiac position of that part. Return value is whether to display that part. If @z is changed, the part’s position will be updated. For example, to only display parts that lie in the 10th house, do: ~P "Equ LonHouse @z 10"

8. ~p[0] <string>: Adjust progression. The ~p string AstroExpression is called whenever a chart is about to be secondary progressed, and the ~p0 string is called whenever a chart is about to be solar arc progressed. (Mixed progressions that do solar arc for cusps and secondary for planets will call both.) On entry, @x is the Julian time of the natal chart, @y is the Julian time to use for progressed house cusps (which may be different from planets if the -pC switch cusp move ratio is set), and @z is the Julian time to use for progressed planets. Return value is ignored, although @z (and also @y for ~p) can be modified to change the progressed results. For example, to have progressions move at a logarithmic rate (fast early in life, and continually slowing down over time) in the manner presented by A.T. Mann, do: ~p0 "If Gte @x @y =z Sub Mul Log10 Add Div Div Sub @x @y 365.25 0.076661459 10 120 120"

9. ~1 <string>: Run expression. This simply parses the string as an AstroExpression, and does nothing else. This is very similar to the “~” switch except that also displays the final result. This switch is good to use in a command switch file (to for example initialize custom AstroExpression variables) when you don’t want popup messages interrupting anything.

10. ~q[1-2] <string>: Notify chart cast. The ~q1 string AstroExpression is called whenever a chart is about to be cast, and the ~q2 string is called whenever a chart has just been cast. This is designed to be used along with other AstroExpression hooks that adjust chart casting, when there’s initialization or finalization code needed. (For example, when the ~O hook is called, it can’t tell whether it’s the first or last object being adjusted.)

11. ~Q[1-2] <string>: Notify chart display. The ~Q1 string AstroExpression is called whenever a chart is about to be displayed, and the ~Q2 string is called whenever a chart has just been displayed. This is designed to be used along with other AstroExpression hooks that adjust chart display, when there’s initialization or finalization code needed.

A few improvements, changes, or bug fixes have also been made in the AstroExpression area:

Ephemeris filtering improved: The ~E hook filtering the -E text ephemeris table will now never show two planet label headers in a row. Before, a filter that removes most entries that’s run over many years would still produce numerous headers that would need to be searched through to find any actual output.

Return values ignored: The ~O, ~C, and ~a switch hooks no longer check and do anything with the return value. If these AstroExpressions change custom variables corresponding to functionality, then they’ll always be applied regardless of return value.

Custom variable bug: Custom AstroExpression variables weren’t initialized until right before the first AstroExpression was parsed. Unfortunately, that could be done after custom variables are automatically set in preparation for calling an AstroExpression hook, resulting in all input parameters being 0 for the first call to any hook.

Macro limitation: AstroExpression macros would only evaluate and return the first expression. Now they evaluate all expressions in sequence and return the result of the last one, similar to AstroExpression strings assigned to command switch hooks.

LICENSE

IMPORTANT NOTICE: Astrolog and all chart display routines and anything not enumerated below used in this program are Copyright (C) 1991-2020 by Walter D. Pullen (Astara@msn.com, http://www.astrolog.org/astrolog.htm). Permission is granted to freely use, modify, and distribute these routines provided these credits and notices remain unmodified with any altered or distributed versions of the program.

The main ephemeris databases and calculation routines are from the library SWISS EPHEMERIS and are programmed and copyright 1997-2008 by Astrodienst AG. The use of that source code is subject to the license for the Swiss Ephemeris Free Edition, available at http://www.astro.com/swisseph. This copyright notice must not be changed or removed by any user of this program.

Additional ephemeris databases and formulas are from the calculation routines in the program PLACALC and are programmed and Copyright (C) 1989,1991,1993 by Astrodienst AG and Alois Treindl (alois@astro.ch). The use of that source code is subject to regulations made by Astrodienst Zurich, and the code is not in the public domain. This copyright notice must not be changed or removed by any user of this program.

The original planetary calculation routines used in this program have been copyrighted and the initial core of this program was mostly a conversion to C of the routines created by James Neely as listed in 'Manual of Computer Programming for Astrologers', by Michael Erlewine, available from Matrix Software.

Atlas composed using data from https://www.geonames.org/ licensed under a Creative Commons Attribution 4.0 License. Time zone changes composed using public domain TZ database: https://data.iana.org/time-zones/tz-link.html

The PostScript code within the core graphics routines are programmed and Copyright (C) 1992-1993 by Brian D. Willoughby (brianw@sounds.wa.com).

More formally: This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful and inspiring, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details, a copy of which is in the LICENSE.HTM file included with Astrolog, and at http://www.gnu.org

O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O

* Walter D. "Cruiser1" Pullen :) ! Astara@msn.com *

O Astrolog 7.10 homepage: http://www.magitech.com/astrolog/astrolog.htm O

* "Who am I, What am I? As I am, I am not. But as we are, I AM. And to *

O you my creation, My Perfect Love is your Perfect Freedom. And I will be O

* with you forever and ever, until the End, and then forever more." - GOD *

O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O*O