<=Return to Planetos Home
 

Freeware and Commercial Software
That Includes Gauquelin Sectors

Astrology software is everywhere, and a recent look at some of the more popular Windows software available suggests that much of it includes the ability to calculate and display Gaqueulin sectors in some form.  Access to sectors, however, doesn't necessarily guarantee usefulness, and usefulness itself depends on your understanding that Gauquelin sectors are not houses. They simply show planetary placements in or out of certain areas a planet passes through in its daily motion from rise to set to rise. Gauquelin's fundemental research tells us that planets have greater strength when in these areas, and offers some suggestion of what that might mean, so I think it is important for people who regularly look at birth charts to be able to observe them in their work.

As I do not have either the means nor the time to review the way in which available software handles sectors, I will mostly make some general recommendations about the way any program should handle sectors, and  show the results of a Google search for software that says it offers sectors. As I am in the process of doing that search, for the present I will simply make some brief remarks about two programs of interest in the following paragraph.

Astrolog (current version, 7.10) is freeware that was, I think, the earliest to offer Gauquelin sectors, and it does so in a useful way, since you can can easily move back and forth between a standard astrological chart and a sector chart. It is easy to install on Windows or Linux (using Wine), and on Mac systems through similar methods. Jigsaw, can calculate sectors for large databases, and is useful for getting an overview that might suggest further experiments, but it lacks statistical features, and  the calculated sectors cannot be output, something that is necessary for checking the accuracy of the calculations, or for further use of the data with a spreadsheet or statistical software.

Gauquelin Sectors for Programmers
Note of 12/11/2022: The following section is generally outdated, but as it contains some useful information it will be edited at the next update.
In 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:

  • Use the longitudes of each planet, applying to these the same iterative calculations used for Placidus cusps.
  • Use the nocturnal and diurnal semi-arcs of each planet for the time and place of birth. 
  • Calculate the exact time of rise and set for each planet for the day in question.
Gauquelin "plus" and "minus" zones:
 
 
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
by Francis Santoni

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
                 -----------------------
                           10
to 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 - ts
With these abbreviations, the following calculations can be programmed:

 If sin h<0, then h = h - 360º
dsa = arc cos (-tan lat*tan de)
If abs h < dsa, then dom = ( (h-dsa)/dsa ) * 90º
If h > 0, then dom = ( (dsa+h)/(dsa-180º) ) * 90º
If h < 0, then dom = ( (dsa+abs h)/(180º-dsa) ) * 90º
_______________________________________________________________

From APP, 9/92, page 33-35
 

Rise/set sector calculations
with the CCRS Program
by Mark Pottenger

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 planet
This 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 [1]. 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.004
These 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.

[1] 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

Fall 2001 update

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.017453292
Then:
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