The program apc+.exe is an interpreter for a kind of astrological language which allows easy access of the API functions of AstroPatterns.You may start a session in a MS-DOS command shell. You can also store a sequence of AstroPatterns instructions (that is an AstroPatterns program) in a file and execute it. Since apc+ supports the include instruction, you can reuse AstroPatterns programs in other AstroPatterns programs. However, apc+ doesn't support more elaborated programming language features of modularization yet (things like function definitions and function calls, except the built-in functions, see below). For using apc+ interactively from the shell, you open an MS-DOS command shell, navigate to the directory where apc+ resides and type apc+: The program is then ready for your input. You can type in any input, even longer than a line. For this, you can use the Enter key of your keyboard. Hitting "Enter" will not automatically trigger the execution of your input. Your input will be regarded as complete as soon as there is a terminating semicolon detected. You can use the semicolon to separate more than one instructions. So, let's start with some examples.
1+1; 2.000000 1+1*2; 3.000000That is, arithmetic expression involving the four basic operations will be evaluated. Observe that in the second example the operator precedence is respected: The dot operation is evaluated first. Of course, you may use brackets to force the execution order:
1:23:46; 1.383333The abbreviations for signs and houses are available. If you prefer, however, you may write them out: apc+ accepts cp as well as Capricorn. Let's consider an example. What is the longitude of Moon on May 02, 2010, 1:20 p.m. GMT? The ephemeris gives the midnight positions 24 Sagittarius 43:21 on May 02, and 7 Capricorn 16:27 on May 03. Such an interpolation can be performed easily in apc+ as follows:
mode dms; ( 7 cp 16:27 - 24 sg 43:21 ) * 13:20 / 24 + 24sg43:21; 271:41:44The first command mode dms switched numeric output to sexagesimal mode (you can always go back to decimal output with mode deg). The second expression is the interpolation itself. Observe that the second expression extends over two lines. Hitting enter does not fire the evaluation, as long as there is no semicolon in the input stream. As the result shows, the Moon is already in Capricorn at 1:20 pm. There are functions for getting the Moon's longitude directly, see below, this is only an example illustrating that apc+ can compute with sexagesimals as well as with ordinary numbers.
arcsin( sin(23:26) * sin( 17ge23 ) ); 22:50:6
mode deg; 14.7.1969 + 365.2422 * 47:45:6 / 0:59:8; 2458152.413610 date; 2. 2.2018 21h55m36sWe switched to decimal mode first. Then we work with dates with the usual arithmetic: Add the number of days to the reference date. This number of days is determined by multiplying the days of a tropical solar year (365.2422) with the directional arc in degrees and dividing by the Naibod key (0°59'8"), resulting in February 2nd, 2018. So there are still some years before this direction becomes valid. You can also subtract dates from each other, so the reverse question can be computed quickly too: How many days have passed from 4th of July 2009, 18h until 1.1.2010, 0h?
mode deg; 1.1.2010 0h - 4.7.2009 18h; 180.250000Watch that in this example a date and a time have been specified. There is a predefined symbol now which gives the actual date, based on the system time:
now; 2455330.040231 date(now); 13. 5.2010 12h58m22s
ne(19.2.1964); 227:50:12Actually, the computation is indirected through the AstroPatterns library, to the effect that the options of the current AstroPatterns session are employed. For example, if you switch on the heliocentric mode, all further computations will be heliocentric, until you switch back to geocentric mode:
mode helio; ma(19.2.1964); 328:40:35 mode geo; ma( 19.2.1964); 328:57:38Was Neptune retrograde in February 19, 1964? You get an easy answer by computing the daily motion:
mode dms; ne(20.2.1964)-ne(19.2.1964); -0:0:2So the answer is yes. The daily motion was 2 seconds of arc in retrograde direction. For some computations, it may be useful to have the obliquity of ecliptic available quickly. For this, you can use the keyword epsilon or ecl for short:
ecl; 23:26:17This gives you the mean obliquity of the ecliptic for the current date. If you need it for a different date, you can use it as a function:
# Compute the planets for NOW mode longitudes; "so " so(now); "mo " mo(now); "me " me(now); "ve " ve(now); "ma " ma(now); "ju " ju(now); "sa " sa(now); "ur " ur(now); "ne " ne(now); "pl " pl(now);With this file, you have a new command do planets at your hands that you can use in an apc+ session:
do planets; so 22ta48:16 mo 18ta20:08 me 2ta46:41 ma 17le57:44 ju 26ps13:11 sa 28vi04:44 ur 29ps30:05 ne 28aq36:49 pl 5cp05:24
all mars conjunction jupiter from 2000 to 2020; 6.4.2000 6h40m43s 3.7.2002 13h24m20s 27.9.2004 0h16m50s 11.12.2006 16h11m11s 17.2.2009 16h27m11s 1.5.2011 4h25m50s 22.7.2013 7h34m46s 17.10.2015 22h39m42s 7.1.2018 0h38m50s 20.3.2020 11h34m39s Number of hits: 10This is a typical job for AstroPatterns. The console translate the command into a corresponding call of the AstroPatterns library. You may abbreviate, if you like:
all ma con ju 1900 to 1905; 17.12.1901 19h31m33s 25.2.1904 19h54m57s Number of hits: 2
for all so con ma 1900 to 2000 get top 5 for element fire ; 17.8.1955 2h45m41s : 17.0 12.5.1998 19h46m18s : 14.0 22.8.1908 5h23m41s : 13.0 14.12.1961 18h28m36s : 12.5 3.12.1929 7h11m10s : 12.5 Number of hits: 5This calls the standard ElementPattern of AstroPatterns, which only counts the presence of planets in fire signs. The Pattern has options with which ASC and MC can be included into the computation. Also, the strength of the planets according to their actual mundane position can be taken into respect. Those options can be controlled with the using keyword in apc+. Assume we want to use ASC and MC, but do not want to use mundane positions. We switch ASC and MC on and specifiy not to work with mundane positions:
for all so con ma 1900 to 2000 get top 5 for element fire using ( asc : yes, mc : yes, mundane positions : no ); 17.8.1955 2h45m41s : 31.0 22.8.1908 5h23m41s : 30.5 2.8.1970 12h 0m38s : 28.5 12.5.1998 19h46m18s : 22.5 21.9.1957 14h28m56s : 22.5 Number of hits: 5You can look for certain zodiacal or house positions. Say, you are looking for Great conjunctions of Jupiter and Saturn while Sun was in a water sign. You enter it in a way you might expect:
for all ju con sa from 1000 to 2000 get so in water; 4.3.1981 19h 7m19s : 1.0 19.2.1961 0h 1m60s : 1.0 17.7.1802 22h48m27s : 1.0 5.11.1782 9h26m13s : 1.0 18.3.1762 16h41m42s : 1.0 24.10.1682 7h40m12s : 1.0 24.2.1643 23h14m 9s : 1.0 16.7.1623 22h42m15s : 1.0 14.7.1444 3h31m 3s : 1.0 14.2.1425 14h43m29s : 1.0 25.10.1365 11h44m29s : 1.0 5.3.1226 4h21m48s : 1.0 8.11.1186 8h33m42s : 1.0 26.2.1087 8h26m44s : 1.0 7.3.1008 2h14m34s : 1.0 8.11.1007 0h44m41s : 1.0 Number of hits: 16Similar, you can look for house positions: Which conjunctions had happened in an angular house for Rome?
set location Rome; location ... for all ju con sa from 1000 to 2000 get ju in angular house; 28.5.2000 16h 3m41s : 1.0 4.3.1981 19h 7m19s : 1.0 5.1.1723 15h15m45s : 1.0 18.9.1544 2h41m17s : 1.0 31.1.1524 6h15m23s : 1.0 8.4.1464 8h 4m 4s : 1.0 14.7.1444 3h31m 3s : 1.0 18.3.1425 7h41m14s : 1.0 25.12.1305 11h52m26s : 1.0 16.4.1206 19h21m 6s : 1.0 8.11.1186 8h33m42s : 1.0 7.8.1127 7h14m45s : 1.0 26.2.1087 8h26m44s : 1.0 8.11.1007 0h44m41s : 1.0 Number of hits: 14
apc+ <planets.ap >planets_today.txtmay be contained in a larger batch file. It delegates the execution of the little program planets.ap written above to the apc+.exe program, writing the result to the file planets_today.txt instead of standard output. Such files could be used in subsequent steps.
SO - Sun MO - Moon ME - Mercury VE - Venus MA - Mars JU - Jupiter SA - Saturn UR - Uranus NE - Neptune PL - Plutoand to the fixed set of aspects
CON - Conjunction (0°) OPP - Opposition (180°) TRI - Trine (120°) SQU - Square (90°) SXT - Sextile (60°) SSX - Semi Sextile (30°) QCX - Inconjunct (150°) SSQ - Semi Square (45°) SQQ - Sesqui Square (135°)With other words, contrary to the Excel UI, apc+ does not account for customizable planets and aspects. The same holds for mundane position strengths which are fixed in their initial state (allotting 3 points to angular, 2 points to intermediate and one point to cadent houses). This is because the grammar file for apc+ (which is written in the Bison metapgrogramming language). When introducing a new planet, the corresponding change of the grammar would require to recompile apc+.exe. This cannot reasonably be required on the user site.