|<=Return to Planetos Home
Commercial Software and Freeware
Important Updates (9/2003):
- John Halloran's AstrolDeluxe ReportWriter 6.2 includes Gauquelin sectors as a display option (a table) and also includes sectors in its research module. Check for the upcoming release date.
- Version 3 of AstroDatabank includes Gauquelin sectors. It is available through www.astrodatabank.com, as well as the Astrology Software Shop. This software is based on Lois Rodden's extensive data collection, and is great for hands-on research.
- Gauquelin sectors may be added to Kepler at some point in the near future. Check the Cosmic Patterns web site at www.patterns.com for details.
THE BEST means of understanding the astronomical and astrological basis for matters relating to the Gauquelin planetary effects is to obtain Astrolog 5.40. The very good Windows version of this freeware program is straightforward and easy to use, allowing one to see planetary positions for a single chart using either the Gauquelin "power zones," a standard chart, or a variety of other techniques - and all at the touch of a key or the click of a mouse button. Any of the several versions of Astrolog (including DOS, Windows, Mac and Unix) will help you to do this, though the Windows version is the only one at present with a user-friendly graphical interface. Those with some knowlege of programming may find Astrolog's extensive macro capability (which allows batch input and output) useful in doing research on large numbers of charts. The source code is also available at this site.
One caveat about Astrolog 5.40: Even though its ephemerides supposedly allow accurate calculations for many centuries, some informal comparisons I have made indicate the calculations degenerate noticeably prior to about 1850. If you need more accurate calculations over a wider range of dates, use Astrolog 5.41G, a version reworked by Alois Treindl of Astrodeinst and corrected and amended by Valentin Abramov. The Windows version can be found at http://astrolog.offline.ee/astrolog/changed/ as the file a541gwin.zip. Right-click the file name and "save as" to your hard drive. Source code for 5.41G for both DOS and Unix can be downloaded as well. There are also quite a few other versions available, but unless you know what you're doing, we recommend sticking to 5.41G, as it includes all bug fixes to date, as well as enhanced accuracy, along with Abramov's modifications and additions.
One thing that becomes noticeable when running 5.41G at its full level of accuracy is that the Gauquelin sector routine is quite slow compared to other calculations. This is because it uses a "brute force" method for the first step of the calculations, searching through almost an entire day in order to find rising and setting times. While this works, we do hope at some point that this routine can be trimmed down, as there are several ways to narrow the time window for that search. Despite this, the modified and corrected Astrolog is still the best way to study the use of sectors.
Two commercial programs, CCRS92 and Jigsaw, can be used for doing statistical work on large databases using the Gauquelin framework. As older DOS programs can be tricky to install and run in a modern Windows environment, CCRS92 is available only by inquiry from the distributor, Astrolabe. While demanding to use, it is the only software available that does the exacting calculation of probabilities as specified in the Gauquelins' publications and also allows text output of the calculated chart and probability files, whether for checking or for use by statistical programs, spreadsheets, etc. It is equally useful for examining other astrological factors as well, when doing serious research on large groups of charts.
Windows program Jigsaw has many good features (including ease of use) that make it very useful for examining complex configurations in small groups of charts, but I would recommend it for preliminary, rather than finished, research, primarily due to its limited output of the calculated data and the difficulty of figuring correct probabilities for the matters being examined. With Jigsaw, it is indeed possible to get counts of sector positions (and a variety of other astrological factors) for large groups of charts, but the calculated data itself can not be examined and checked, and there is no straightforward way to know whether the resulting counts are simply random or whether they show a statistically significant pattern.
Gauquelin Sectors for ProgrammersIn response to requests from software authors, publishers and others, I have put together the following information to explain what the Gauquelin "sectors" are and how they are calculated. Recently I have begun a campaign to get software authors and publishers to include information on these sectors in their standard programs - and in a way that makes them immediately useful to the user. For example:
In screen displays: Position in or out of Gauquelin "plus zones" can be indicated by placing either a + or - beside the planet in the wheel. Actual sector position (36 sectors are the standard) can be indicated in accompanying listings, such as those for declinations, house cusps, element counts, etc.
On chart printouts: Sector information can be added to charts in the same way as with screen displays, and in my opinion ought to at least be an option on standard listing along with longitude, house cusps, etc.
Though more and more commercial programs now make sector information available, most I'm aware of offer it only in secondary charts or printouts (e.g. Astrolabe's old DOS program Nova, with its Placidus Mundoscope option, or Solar Fire, which requires the user to know how to add it to a user-designed wheel) or only in batches of charts processed for so-called "research" programs. Progress continues, but as I have tried to help people understand in several years of writing my "New Astrology" column, and as Michel and Françoise Gauquelin both tried to emphasize in various books and articles, placement of certain planets within Gauquelin sectors can be immediately useful in interpreting charts.
Things are getting better where software is concerned, but most software stills has a few more steps to go in order to give astrologers the opportunity to view directly (and easily) for themselves the very basic - and scientifically credible - placement of planets within the Gauquelin sectors.
Preliminary information on the Gauquelin sectors:
The astronomical definition is given in the articles and program listings that follow, but one should know that the sectors themselves are numbered clockwise, with sector 1 being the area just after the planet rises. 36 is the standard number. No accuracy is gained by using more, and besides all current research (and there is quite a bit of this going on) is done in the 36-sector framework. Thus, using that will allow people to compare charts directly with reported research findings. The designation of each sector +/- follows. This is based on generally accepted usage, though the definition involving the zones around setting and lower culmination will vary slightly in some sources. An ideal program would not only include sector information, but would allow the user to change the designation of the zones if later research requires it.
Note that there are several levels of accuracy possible, so sectors can easily be patched into an existing program simply by using the lowest level, which does not take daily motion or exact rising and setting times into account. There are roughly three levels at which sectors can be calculated, depending on which data is used as a base:
Sectors above the horizon rise > > > > > > > to set | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 + + + - - - - - + + + + - - - - - + Sectors below the horizon set > > > > > > > > > to rise | | 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 + + - - - - - - + + + - - - - - - + _____________________________________________________________From Astro-Psychological Problems, September 1992, page 32:
The 36 G.sectors, program prepared for Aureas Informatique
First some definitions:
A domitude is the exact position of an astronomical point on the local sphere on which twelve houses are defined. The program calculating this domitude uses a classical formula corresponding to the chosen house system (Placidus, Regiomontanus, Campanus, etc....).
For the G.sectors, the house system chosen is Placidean. It can
be converted to 36 G.sectors by:
360°-Placidean domitude ----------------------- 10to the results of which the program adds 1 for a correct display of the result (sector 0 of the computer being called "sector 1" by the user of the program).
abs h = abscissa of h ar = right ascension of the point to define de = declination of the point to define dom = domitude, in degrees dsa = diurnal semi-arc lat = latitude of the birth place ts = sidereal time at the birth time h = ar - tsWith these abbreviations, the following calculations can be programmed:
If sin h<0, then h = h - 360º
From APP, 9/92, page 33-35
Rise/set sector calculations
The rise/set sectors are obtained by looking up in almanacs the exact times of the rise and set bracketing the moment of birth to be studied, then getting a proportion: Points above horizon:
time of birth-time of rise of the planet _________________________________________ time of set - time of rise of the planet Points below the horizon: time of birth-time of set of the planet _________________________________________ time of rise - time of set of the planetThis proportion being a decimal fraction, it is multiplied by 180º to get a system measurable in degrees. And 180º is added to the answer for points below the horizon. This use of a proportion provides a continuous 360º measure, clockwise from the Ascendant, out of the unequal diurnal and nocturnal intervals.
The 360º measure of the rise/set sectors can then be divided by 10, 20 or 30 for obtaining the the 36, 18 or 12 sectors used in statistical tests, tables and graphs.
Unfortunately, calculating an exact rise or set time on a computer is an iterative process requiring several calculations of a planet's position for successively refined times. Since this must be done for each planet, this kind of sector calculation can be time-consuming.
The formula used in the CCRS program since the late 1970s calculates diurnal placements using a proportion based on meridian distance divided by semi-arc . This formula produces almost, but not quite, the same answer as calculating the exact rise and set times. The difference is due to the fact that the calculations are based on celestial latitude and longitude at the moment of birth. But the body being studied will move slightly between the birth time and the rise or set time. For all practical purposes, the only body significantly affected is the Moon. For the Moon, a rise or set time calculated from the birth positions will be slightly off.
To see this, look at a paran printout for a chart, calculate a new chart for a Moon rise or set time given, then look at a paran printout for the new chart. The Moon rise or set time shown will now be slightly different. Repeating this procedure of calculating a new chart for the time obtained in the previous try, until the time stops to change, is the kind of iterative solution used to get exact rise and set times with a computer.
Thomas Shanks' program, on Astro Computing Services' potent computer, does a full iterative calculation of the exact rise and set times. This ACS formula is now as close a match as a computer can give to the definition of the G.rise.set sectors.
A test of the accuracy of planetary placements in rise/set sectors with the CCRS program was done by comparing the results obtained with the 1794 births of alcoholics collected by Michel Gauquelin 1) with Thomas Shank's program used on ACS's computer, and 2) with the CCRS program used on a smaller desk computer. The results with the CCRS program, compared to those of ACS's computer, were well under a degree of sector position for all the planets except the Moon which had an average discrepancy of 0.757 degrees.
This was not too bad, but I have managed to improve even the Moon
result with the CCRS program. Now it calculates the Moon rise and set times
based on the longitudes and latitudes of the birth positions, where the
estimated longitudes are the birth positions +/- the velocity x time difference.
The latitudes are trickier to correct. They involve now a sine function
and the inclination. I was surprised by how important the latitude estimate
was in the final result. Table I, below, given in 360º sector measure,
shows the improvement of the CCRS results. They can be now considered good
enough for most work.
TABLE I Differences between the rise/set formula used in the ACS program and the meridian distance formula used in the CCRS program: tested planet difference observed Sun 0.002 Moon 0.050 Mercury 0.002 Venus 0.003 Mars 0.013 Jupiter 0.006 Saturn 0.005 Uranus 0.004 Neptune 0.004 Pluto 0.004These differences are small enough to satisfy me. ACS's program goes through iterative calculations of the exact rise and set times of each planet that only a large computer can handle. My formula works from previously calculated longitudes, latitudes and velocities for the moment of birth, and is not too time-consuming for the average desk-computer.
The Gauquelins themselves used Placidus tables that don't take account of the planets' latitude above or below the ecliptic, during the years they calculated charts by hand. Planetary placements based on rise and set times published in almanacs were suggested by Françoise as a theoretical improvement, since they took the planets' latitudes into account. But this method was not used on a large scale, only for short trials, because it was longer to apply than chart calculations with Placidus tables. Thus rise and set based sectors really started to be used only in 1980s, when the Gauquelins had their computations done at ACS. This is what convinced me that it is all right to use Placidus houses as an approximation of G.rise/set sectors on average-sized computers.
 Meridian distance: distance of a point from the Midheaven or I.C., measured along the celestial equator in Right Ascension. A planet's semi-arc is one half the distance it will travel in moving across the sky from horizon to horizon. The diurnal semi-arcs are above the horizon; the nocturnal semi-arcs are below the horizon.
[Warning Note: This is not a debugged listing. It may contain errors both from the source where it was published and from my own typing, so check it carefully before using. Furthermore, the code itself is copyrighted by Mark, and I am simply passing it along as information useful in explaining the calculation of Gauquelin sectors. If you plan to use this code itself commercially, you should discuss that with him. - KI]
Routines in Microsoft Basic for the CCRS Horoscope Program
Throughout the code, variables starting with U (U, U0, U1, etc.) are reusable unknowns.
REM THESE ARE FUNCTIONS USED LATER: DEF FNS (U) = SIN(U * 3.141592653589796 / 180) : REM SINE(DEG) DEF FNC (U) = COS(U * 3.141592653589796 / 180) : REM COSINE(DEG) DEF FNT (U) = SIN(U * 3.141592653589796 / 180) / COS((U + (U = 90) * .0000001 + (U = 270) * .0000001) * 3.141592653589796 / 180 : REM TANGENT (DEGREES) DEF FNA1 (U) = ATN(U / (SQR(1 - U * U) - .0000001 * (ABS(U) = 1))) * 180 / 3.141592653589796 : REM ARCSINE IN DEGREES DEF FNA4 (U,U0) = ATN(U / (U0 - (U0 = 0) * .0000001)) * 180 / 3.141592653589796 - ((U * U0 < 0) OR (U=0 AND U0 < 0)) * 180 - (U < 0) * 180: REM QUADRANT-CORRECT ARCTANGENT IN DEGREES (LIKE FORTRAN ATAN2) DEF FNMO (U) = (U / 360 - INT(U / 360)) * 360: REM MODULO 360 PRINT "GAUQUELIN SECTORS" PRINT " 12 18A 18M 36 360" FOR I = 0 TO HPI%: REM LOOP THROUGH PLANETS U = GLON!(I): REM GEOCENTRIC LONGITUDE U0 = GLAT!(I): REM GEOCENTRIC LATITUDE GOSUB RADEC: REM CALCULATE SPECULUM AND 360-SECTOR VALUE IF I = 2 THEN GOSUB FIXMOON: REM THE MOON U1 = INT(G / 10) + 1: REM 36-SECTOR VALUE (SHIFTED TO BASE 1) U2 = U1 / 2 IF U2 = 18 THEN U2 = .5 PRINT P$(1); " ";: REM PLANET NAME IF ABS(ADA) > 1 THEN PRINT: REM CIRCUMPOLAR OR CIRCUMSUBPOLAR--DON'T USE ELSE PRINT USING " ### ";INT(G / 30) + 1;: REM 12-SECTOR VALUE PRINT USING " ### ";INT(G / 20) + 1;: REM 18A VALUE PRINT USING " ### ";INT(U2 + 1.1);: REM 18M VALUE PRINT USING " ### ";U1;: REM 36-SECTOR VALUE PRINT USING " ### ";INT(G) + 1;: REM 360-SECTOR VALUE IF U1 <= 3 OR (U1 >= 9 AND U1 <= 12) OR U1 = 36 THEN PRINT " PLUS ZONE"; END IF PRINT END IF NEXT I PRINT "18A STARTS AT ASC, 18M STARTS 1/36 DOWN" PRINT "PLUS ZONES ARE 1/36 BEFORE & 3/36 AFTER ASC & MC" END REM GET RA, DEC, SPECULUM & SEMI-ARC FROM LONGITUDE & LATITUDE REM O1 IS THE SINE OF THE OBLIQUITY OF THE ECLIPTIC REM O0 IS THE COSINE OF THE OBLIQUITY RADEC: U1 = FNS(U) : REM SINE(LONGITUDE) U2 = FNC(U) : REM COSINE(LONGITUDE) U3 = FNS(U0) : REM SINE(LATITUDE) U4 = FNC(U0) : REM COSINE(LATITUDE) R = FNA4(U1 * U4 * O0 - U3 * O1, U4 * U2) : RIGHT ASCENSION DEC = FNA1(U3 * O0 + U4 * U1 * O1) : REM DECLINATION REM GET SPECULUM (AD, OA, OD, DSA, NSA, MD, RATIONALIZED MD) ADA = FNT(DEC) * TL: REM TL IS THE TANGENT OF THE BIRTH LATITUDE REM AD IS THE ASCENSIONAL DIFFERENCE IF ABS(ADA) <= 1 THEN AD = FNA1(ADA) ELSE AD = 0 REM OA IS OBLIQUE ASCENSION OA = FNMO(R - AD) REM OD IS OBLIQUE DESCENSION OD = FNMO(R + AD) REM DS IS DIURNAL SEMI-ARC DS = 90 + AD REM NS IS NOCTURNAL SEMI-ARC NS = 180 - DS REM MD IS MERIDIAN DISTANCE (RM IS R.A. OF MIDHEAVEN) MD = FNMO(R - RM) REM U1 IS USED HERE AS A HEMISPHERE FLAG: 1 = ABOVE HORIZON U1 = 1 IF MD > 180 THEN MD = MD - 360 IF MD > DS OR MD <= -DS THEM MD = FNMO(R - RM + 180) U1 = 0: REM BELOW HORIZON IF MD > 180 THEN MD = MD - 360 ENDIF REM G IS THE RATIONALIZED SEMI-ARC (0-360 GAUQUELIN SECTOR) REM FROM A BASE OF 0. FOR PRINTING BASE 1 SECTORS, ADD 1. IF U1 THEN G = 90 - (MD / DS * 90) ELSE G = 270 - (MD / NS * 90) RETURN REM CORRECTION USING VELOCITY TO ESTIMATE POSITIONS FIXMOON: REM RST IS RISE SIDEREAL TIME RST = FNMO(OA - 90) REM SST IS SET SIDEREAL TIME SST = FNMO(OD + 90) REM ABOVE OR BELOW HORIZON: IF U1 THEN F0 = -FNMO(RM - RST): REM SIDEREAL TIME TO GET BACK TO RISE F1 = FNMO(SST - RM): REM SIDEREAL TIME TO GET FORWARD TO SET ELSE F0 = FNMO(RST - RM): REM SIDEREAL TIME FORWARD TO RISE F1 = -FNMO(RM - SST): REM SIDEREAL TIME BACK TO SET ENDIF REM 1.0027379 IS THE DIFFERENCE BETWEEN SIDEREAL & SOLAR TIME REM GV!(I) IS GEOCENTRIC VELOCITY IN DEGREES PER SOLAR DAY REM THIS LINE ESTIMATES THE LONGITUDE OF THE MOON AT THE TIME REM OF RISING DETERMINED BY THE FIRST CALL TO RADEC U = GLON!(I) + F0 / 360 * GV!(I) * 1.0027379 REM 5.1454 IS THE INCLINATION OF THE MOON REM GLON!(16) IS THE LONGITUDE OF THE MOON'S NORTH NODE REM THIS LINE ESTIMATES THE LATITUDE OF THE MOON AT THE TIME REM OF RISING DETERMINED BY THE FIRST CALL TO RADEC U0 = GLAT!(I) + FNS(U - GLON!(16) * 5.1454 - FNS(GLON!(I) - GLON!(16)) * 5.1454) GOSUB RADEC: REM GET FULL SPECULUM FROM ESTIMATED LONG & LAT RST = FNMO(OA - 90): REM REFINED RISING TIME REM THIS LINE ESTIMATES THE LONGITUDE OF THE MOON AT THE TIME REM OF SETTING DETERMINED BY THE FIRST CALL TO RADEC U0 = GLON!(I) + F1 / 360 * GV!(I) * 1.0027379 REM THIS LINE ESTIMATES THE LATITUDE OF THE MOON AT THE TIME REM OF SETTING DETERMINED BY THE FIRST CALL TO RADEC U0 = GLAT!(I) + FNS(U - GLON!(16)) * 5.1454 - FNS(GLON!(I) - GLON!*16)) * 5.1454) GOSUB RADEC: REM GET FULL SPECULUM FROM ESTIMATED LONG & LAT SST = FNMO(OD + 90): REM REFINED SETTING TIME REM DETERMINE HEMISPHERE BY COMPARING RAMC - RISE TO SET - RISE: U1 = FNMO(RM - RST) - FNMO(SST - RST) REM NEW RATIONALIZED SEMI-ARC BASED ON REFINED RISE & SET TIMES: IF U1 < 0 THEN G = 180 * FNMO(RM - RST) / FNMO(SST - RST) ELSE G = 180 * FNMO(RM - SST) / FNMO(RST - SST) + 180 ENDIF RETURN
Following is some additional code in Visual Basic kindly supplied by Mark Pottenger for this page. This should be considered "alpha" code, still under development, so use it mainly as a guide. First, some definitions:
Global Const C = 360 Global Const H1 = 180 Global Const P1 = 3.14159265358979 Global Const P2 = 1.74532925199433E-02 Global Const P3 = 57.2957795130823 Global Const P5 = 206264.806247096 Global Const P6 = 4.84813681109536E-06 Global Const A = 86400 Global Const DEGTORAD = 0.017453292Then:
Type Speculum LON As Double: Rem Celestial Longitude LAT As Double: Rem Celestial Latitude RAMC As Double: Rem Right Ascension of Midheaven TerranLat As Double: Rem Earth Latitude RA As Double: Rem Right Ascension DEC As Double: Rem Declination HourAngle As Double: Rem Hour Angle Alt As Double: Rem Altitude Azi As Double: Rem Azimuth ADA As Double: Rem Ascensional Difference Argument AscDiff As Double: Rem Ascensional Difference OblAsc As Double: Rem Oblique Ascension OblDesc As Double: Rem Oblique Descension DSA As Double: Rem Diurnal Semi-arc NSA As Double: Rem Nocturnal Semi-arc MerDist As Double: Rem Meridian Distance DayNightFlag As Integer: Rem 1=Above horizon, 0=Below horizon GAUQSECT As Double: Rem Rationalized Meridian Distance/Gauquelin Sectors End Type Sub CalcSpec(SP As Speculum, ByVal CosObl As Double, ByVal SinObl As Double, ByVal SpecFlag As Integer) Rem LONG & LAT TO RA & DEC; must set Lon, Lat, RAMC, TerranLat before call 1 or 2 Rem SpecFlag = 0 means RA & Dec only, 1 means RA, Dec & AltAz, 2 = full speculum U1 = SINDEG(SP.LON) U2 = COSDEG(SP.LON) U3 = SINDEG(SP.LAT) U4 = COSDEG(SP.LAT) SP.RA = ATAN2(U1 * U4 * CosObl - U3 * SinObl, U4 * U2) SP.DEC = ARCSIN(U3 * CosObl + U4 * U1 * SinObl) If SpecFlag = 0 Then Exit Sub SP.HourAngle = MOD360(SP.RAMC - SP.RA): Rem HOUR ANGLE U2 = C - SP.HourAngle U3 = COSDEG(SP.DEC) U4 = SINDEG(SP.DEC) SP.Azi = MOD360(450 - ATAN2(-U3 * SINDEG(SP.HourAngle), U4 * COSDEG(SP.TerranLat) - U3 * COSDEG(SP.HourAngle) * SINDEG(SP.TerranLat))) SP.Alt = ARCSIN(U4 * SINDEG(SP.TerranLat) + U3 * COSDEG(SP.HourAngle) * COSDEG(SP.TerranLat)) If SpecFlag = 1 Then Exit Sub Rem GET SPECULUM SP.ADA = TANDEG(SP.DEC) * TANDEG(SP.TerranLat) If Abs(SP.ADA) <= 1 Then SP.AscDiff = ARCSIN(SP.ADA) Else SP.AscDiff = 0 SP.OblAsc = MOD360(SP.RA - SP.AscDiff) SP.OblDesc = MOD360(SP.RA + SP.AscDiff) SP.DSA = 90 + SP.AscDiff SP.NSA = H1 - SP.DSA SP.MerDist = MOD360(SP.RA - SP.RAMC) SP.DayNightFlag = 1 If SP.MerDist > H1 Then SP.MerDist = SP.MerDist - C If SP.MerDist > SP.DSA Or SP.MerDist <= -SP.DSA Then SP.MerDist = MOD360(SP.RA - SP.RAMC + 180) SP.DayNightFlag = 0 If SP.MerDist > H1 Then SP.MerDist = SP.MerDist - C End If If SP.DayNightFlag Then SP.GAUQSECT = 90 - (SP.MerDist / SP.DSA * 90) Else SP.GAUQSECT = 270 - (SP.MerDist / SP.NSA * 90) End Sub