diff --git a/demo/browser/astronomy.browser.js b/demo/browser/astronomy.browser.js
index 534ba4c8..fbbfb50b 100644
--- a/demo/browser/astronomy.browser.js
+++ b/demo/browser/astronomy.browser.js
@@ -8772,7 +8772,7 @@ exports.LagrangePointFast = LagrangePointFast;
*
* This class calculates the movement of arbitrary small bodies,
* such as asteroids or comets, that move through the Solar System.
- * It does so by calculating the gravitational forces on the bodies
+ * It does so by calculating the gravitational forces on the small bodies
* from the Sun and planets. The user of this class supplies a
* list of initial positions and velocities for the small bodies.
* Then the class can update the positions and velocities over small
diff --git a/demo/nodejs/astronomy.js b/demo/nodejs/astronomy.js
index a3bfa442..10f8f770 100644
--- a/demo/nodejs/astronomy.js
+++ b/demo/nodejs/astronomy.js
@@ -8771,7 +8771,7 @@ exports.LagrangePointFast = LagrangePointFast;
*
* This class calculates the movement of arbitrary small bodies,
* such as asteroids or comets, that move through the Solar System.
- * It does so by calculating the gravitational forces on the bodies
+ * It does so by calculating the gravitational forces on the small bodies
* from the Sun and planets. The user of this class supplies a
* list of initial positions and velocities for the small bodies.
* Then the class can update the positions and velocities over small
diff --git a/demo/nodejs/calendar/astronomy.ts b/demo/nodejs/calendar/astronomy.ts
index 156dc2cb..ec04aa7b 100644
--- a/demo/nodejs/calendar/astronomy.ts
+++ b/demo/nodejs/calendar/astronomy.ts
@@ -9203,7 +9203,7 @@ export function LagrangePointFast(
*
* This class calculates the movement of arbitrary small bodies,
* such as asteroids or comets, that move through the Solar System.
- * It does so by calculating the gravitational forces on the bodies
+ * It does so by calculating the gravitational forces on the small bodies
* from the Sun and planets. The user of this class supplies a
* list of initial positions and velocities for the small bodies.
* Then the class can update the positions and velocities over small
diff --git a/demo/python/astronomy.py b/demo/python/astronomy.py
index e1c4049d..918ff944 100644
--- a/demo/python/astronomy.py
+++ b/demo/python/astronomy.py
@@ -643,7 +643,8 @@ class Time:
Parameters
----------
- tt : The number of days after the J2000 epoch.
+ tt : float
+ The number of days after the J2000 epoch.
Returns
-------
@@ -9864,7 +9865,7 @@ class GravitySimulator:
such as asteroids or comets, that move through the Solar System.
It does so by calculating the gravitational forces on the bodies
from the Sun and planets. The user of this class supplies a
- list of initial positions and velocities for the bodies.
+ list of initial positions and velocities for the small bodies.
Then the class can update the positions and velocities over small
time steps.
"""
diff --git a/generate/pydown/pydown.py b/generate/pydown/pydown.py
index 8ec83202..67edc2e4 100755
--- a/generate/pydown/pydown.py
+++ b/generate/pydown/pydown.py
@@ -38,15 +38,24 @@ def SymbolLink(name):
m = re.match(r'^\s*([a-zA-Z0-9_]+)\s+or\s+`None`\s*$', name)
if m:
return SymbolLink(m.group(1)) + ' or `None`'
+
if 'a' <= name[0] <= 'z':
# Assume built-in Python identifier, so do not link
return '`{0}`'.format(name)
+
+ # Other links look like `StateVector[]`. We need to link to StateVector, but exclude the [].
+ m = re.match(r'^\s*([a-zA-Z0-9_]+(\.[a-zA-Z0-9_]+)*)([^a-zA-Z0-9_\s]+)', name)
+ if m:
+ return SymbolLink(m.group(1)) + '`' + m.group(3) + '`'
+
# [`astro_time_t`](#astro_time_t)
return '[`{0}`](#{0})'.format(name)
def FixText(s):
# Expand "#Body" to "[`Body`](#Body)".
- return re.sub(r'#([A-Z][A-Za-z0-9_]*)', r'[`\1`](#\1)', s)
+ # Tricky: also need to find "#GravitySimulator.Update",
+ # but NOT "#GravitySimulator. Blah blah...".
+ return re.sub(r'#([A-Z][A-Za-z0-9_]*(\.[A-Z][A-Za-z0-9_]*)*)', r'[`\1`](#\1)', s)
class ParmInfo:
def __init__(self, name, type):
diff --git a/generate/template/astronomy.c b/generate/template/astronomy.c
index 98e49700..a5c016c8 100644
--- a/generate/template/astronomy.c
+++ b/generate/template/astronomy.c
@@ -2848,10 +2848,8 @@ static void GravSimDuplicate(astro_grav_sim_t *sim)
* @param bodyStateArray
* An array of initial state vectors (positions and velocities) of the small bodies to be simulated.
* The caller must know the positions and velocities of the small bodies at an initial moment in time.
- * Their positions and velocities are expressed with respect to the Solar System Barycenter (SSB)
- * using equatorial J2000 orientation (EQJ).
- * Positions are expressed in astronomical units (AU).
- * Velocities are expressed in AU/day.
+ * Their positions and velocities are expressed with respect to `originBody`, using equatorial J2000 orientation (EQJ).
+ * Positions are expressed in astronomical units (AU). Velocities are expressed in AU/day.
* All the times embedded within the state vectors must be exactly equal to `time`,
* or this function will fail with the error `ASTRO_INCONSISTENT_TIMES`.
*
diff --git a/generate/template/astronomy.cs b/generate/template/astronomy.cs
index 649445bb..bfd22bba 100644
--- a/generate/template/astronomy.cs
+++ b/generate/template/astronomy.cs
@@ -39,7 +39,6 @@ namespace CosineKitty
///
public class EarthNotAllowedException: ArgumentException
{
- /// Creates an exception indicating that the Earth is not allowed as a target body.
internal EarthNotAllowedException():
base("The Earth is not allowed as the body parameter.")
{}
@@ -51,8 +50,6 @@ namespace CosineKitty
///
public class InvalidBodyException: ArgumentException
{
- /// Creates an exception indicating that the given body is not valid for this operation.
- /// The body that was invalid.
internal InvalidBodyException(Body body):
base("Invalid body: " + body)
{}
@@ -65,8 +62,6 @@ namespace CosineKitty
///
public class InternalError: Exception
{
- /// Creates an exception indicating that an unexpected error ocurred.
- /// Diagnostic text about the internal error.
internal InternalError(string message):
base("Internal error. Please report an issue at: https://github.com/cosinekitty/astronomy/issues. Diagnostic: " + message)
{}
@@ -855,13 +850,6 @@ namespace CosineKitty
///
public readonly AstroVector vec;
- ///
- /// Creates an equatorial coordinates object.
- ///
- /// Right ascension in sidereal hours.
- /// Declination in degrees.
- /// Distance to the celestial body in AU.
- /// Equatorial coordinates in vector form.
internal Equatorial(double ra, double dec, double dist, AstroVector vec)
{
this.ra = ra;
@@ -898,12 +886,6 @@ namespace CosineKitty
///
public readonly double elon;
- ///
- /// Creates an object that holds Cartesian and angular ecliptic coordinates.
- ///
- /// ecliptic vector
- /// ecliptic latitude
- /// ecliptic longitude
internal Ecliptic(AstroVector vec, double elat, double elon)
{
this.vec = vec;
@@ -942,13 +924,6 @@ namespace CosineKitty
///
public readonly double dec;
- ///
- /// Creates a topocentric position object.
- ///
- /// Compass direction around the horizon in degrees. 0=North, 90=East, 180=South, 270=West.
- /// Angle in degrees above (positive) or below (negative) the observer's horizon.
- /// Right ascension in sidereal hours.
- /// Declination in degrees.
internal Topocentric(double azimuth, double altitude, double ra, double dec)
{
this.azimuth = azimuth;
@@ -1054,11 +1029,6 @@ namespace CosineKitty
/// Apparent coordinates of the body at the time it crosses the specified hour angle.
public readonly Topocentric hor;
- ///
- /// Creates a struct that represents a celestial body crossing a specific hour angle.
- ///
- /// The date and time when the body crosses the specified hour angle.
- /// Apparent coordinates of the body at the time it crosses the specified hour angle.
internal HourAngleInfo(AstroTime time, Topocentric hor)
{
this.time = time;
@@ -1085,13 +1055,6 @@ namespace CosineKitty
/// The difference between the ecliptic longitudes of the body and the Sun, as seen from the Earth.
public readonly double ecliptic_separation;
- ///
- /// Creates a structure that represents an elongation event.
- ///
- /// The date and time of the observation.
- /// Whether the body is best seen in the morning or the evening.
- /// The angle in degrees between the body and the Sun, as seen from the Earth.
- /// The difference between the ecliptic longitudes of the body and the Sun, as seen from the Earth.
internal ElongationInfo(AstroTime time, Visibility visibility, double elongation, double ecliptic_separation)
{
this.time = time;
@@ -2121,11 +2084,10 @@ $ASTRO_ADDSOL()
///
/// This class calculates the movement of arbitrary small bodies,
/// such as asteroids or comets, that move through the Solar System.
- /// It does so by calculating the gravitational forces on the bodies
- /// from the Sun and planets. The user of this class supplies a
- /// list of initial positions and velocities for the small bodies.
- /// Then the class can update the positions and velocities over small
- /// time steps.
+ /// It does so by calculating the gravitational forces on the small bodies
+ /// from the Sun and planets. The user of this class supplies an enumeration
+ /// of initial positions and velocities for the small bodies.
+ /// Then the class can update the positions and velocities over small time steps.
///
public class GravitySimulator
{
diff --git a/generate/template/astronomy.kt b/generate/template/astronomy.kt
index f256d70a..f0774138 100644
--- a/generate/template/astronomy.kt
+++ b/generate/template/astronomy.kt
@@ -7859,7 +7859,7 @@ fun constellation(ra: Double, dec: Double): ConstellationInfo {
* such as asteroids or comets, that move through the Solar System.
* It does so by calculating the gravitational forces on the bodies
* from the Sun and planets. The user of this class supplies a
- * list of initial positions and velocities for the bodies.
+ * list of initial positions and velocities for the small bodies.
* Then the class can update the positions and velocities over small
* time steps. The gravity simulator also provides access to the
* positions and velocities of the Sun and planets used in the simulation.
diff --git a/generate/template/astronomy.py b/generate/template/astronomy.py
index c8fed3da..f96f2546 100644
--- a/generate/template/astronomy.py
+++ b/generate/template/astronomy.py
@@ -643,7 +643,8 @@ class Time:
Parameters
----------
- tt : The number of days after the J2000 epoch.
+ tt : float
+ The number of days after the J2000 epoch.
Returns
-------
@@ -7371,7 +7372,7 @@ class GravitySimulator:
such as asteroids or comets, that move through the Solar System.
It does so by calculating the gravitational forces on the bodies
from the Sun and planets. The user of this class supplies a
- list of initial positions and velocities for the bodies.
+ list of initial positions and velocities for the small bodies.
Then the class can update the positions and velocities over small
time steps.
"""
diff --git a/generate/template/astronomy.ts b/generate/template/astronomy.ts
index b1493894..f04d8548 100644
--- a/generate/template/astronomy.ts
+++ b/generate/template/astronomy.ts
@@ -7746,7 +7746,7 @@ export function LagrangePointFast(
*
* This class calculates the movement of arbitrary small bodies,
* such as asteroids or comets, that move through the Solar System.
- * It does so by calculating the gravitational forces on the bodies
+ * It does so by calculating the gravitational forces on the small bodies
* from the Sun and planets. The user of this class supplies a
* list of initial positions and velocities for the small bodies.
* Then the class can update the positions and velocities over small
diff --git a/source/c/README.md b/source/c/README.md
index b0977626..e2cc3053 100644
--- a/source/c/README.md
+++ b/source/c/README.md
@@ -838,7 +838,7 @@ If this function succeeds (returns `ASTRO_SUCCESS`), `sim` will be set to a dyna
| [`astro_body_t`](#astro_body_t) | `originBody` | Specifies the origin of the reference frame. All position vectors and velocity vectors will use `originBody` as the origin of the coordinate system. This origin applies to all the input vectors provided in the `bodyStateArray` parameter of this function, along with all output vectors returned by [`Astronomy_GravSimUpdate`](#Astronomy_GravSimUpdate). Most callers will want to provide one of the following: `BODY_SUN` for heliocentric coordinates, `BODY_SSB` for solar system barycentric coordinates, or `BODY_EARTH` for geocentric coordinates. Note that the gravity simulator does not correct for light travel time; all state vectors are tied to a Newtonian "instantaneous" time. |
| [`astro_time_t`](#astro_time_t) | `time` | The initial time at which to start the simulation. |
| `int` | `numBodies` | The number of small bodies to be simulated. This may be any non-negative integer. |
-| `const astro_state_vector_t *` | `bodyStateArray` | An array of initial state vectors (positions and velocities) of the small bodies to be simulated. The caller must know the positions and velocities of the small bodies at an initial moment in time. Their positions and velocities are expressed with respect to the Solar System Barycenter (SSB) using equatorial J2000 orientation (EQJ). Positions are expressed in astronomical units (AU). Velocities are expressed in AU/day. All the times embedded within the state vectors must be exactly equal to `time`, or this function will fail with the error `ASTRO_INCONSISTENT_TIMES`. |
+| `const astro_state_vector_t *` | `bodyStateArray` | An array of initial state vectors (positions and velocities) of the small bodies to be simulated. The caller must know the positions and velocities of the small bodies at an initial moment in time. Their positions and velocities are expressed with respect to `originBody`, using equatorial J2000 orientation (EQJ). Positions are expressed in astronomical units (AU). Velocities are expressed in AU/day. All the times embedded within the state vectors must be exactly equal to `time`, or this function will fail with the error `ASTRO_INCONSISTENT_TIMES`. |
diff --git a/source/c/astronomy.c b/source/c/astronomy.c
index bcbbb7ed..9a5eddc2 100644
--- a/source/c/astronomy.c
+++ b/source/c/astronomy.c
@@ -3860,10 +3860,8 @@ static void GravSimDuplicate(astro_grav_sim_t *sim)
* @param bodyStateArray
* An array of initial state vectors (positions and velocities) of the small bodies to be simulated.
* The caller must know the positions and velocities of the small bodies at an initial moment in time.
- * Their positions and velocities are expressed with respect to the Solar System Barycenter (SSB)
- * using equatorial J2000 orientation (EQJ).
- * Positions are expressed in astronomical units (AU).
- * Velocities are expressed in AU/day.
+ * Their positions and velocities are expressed with respect to `originBody`, using equatorial J2000 orientation (EQJ).
+ * Positions are expressed in astronomical units (AU). Velocities are expressed in AU/day.
* All the times embedded within the state vectors must be exactly equal to `time`,
* or this function will fail with the error `ASTRO_INCONSISTENT_TIMES`.
*
diff --git a/source/csharp/README.md b/source/csharp/README.md
index e88bf79b..f292ecdd 100644
--- a/source/csharp/README.md
+++ b/source/csharp/README.md
@@ -2704,11 +2704,10 @@ not be used.
This class calculates the movement of arbitrary small bodies,
such as asteroids or comets, that move through the Solar System.
-It does so by calculating the gravitational forces on the bodies
-from the Sun and planets. The user of this class supplies a
-list of initial positions and velocities for the small bodies.
-Then the class can update the positions and velocities over small
-time steps.
+It does so by calculating the gravitational forces on the small bodies
+from the Sun and planets. The user of this class supplies an enumeration
+of initial positions and velocities for the small bodies.
+Then the class can update the positions and velocities over small time steps.
### member variables
diff --git a/source/csharp/astronomy.cs b/source/csharp/astronomy.cs
index aacf1eee..1589e81e 100644
--- a/source/csharp/astronomy.cs
+++ b/source/csharp/astronomy.cs
@@ -39,7 +39,6 @@ namespace CosineKitty
///
public class EarthNotAllowedException: ArgumentException
{
- /// Creates an exception indicating that the Earth is not allowed as a target body.
internal EarthNotAllowedException():
base("The Earth is not allowed as the body parameter.")
{}
@@ -51,8 +50,6 @@ namespace CosineKitty
///
public class InvalidBodyException: ArgumentException
{
- /// Creates an exception indicating that the given body is not valid for this operation.
- /// The body that was invalid.
internal InvalidBodyException(Body body):
base("Invalid body: " + body)
{}
@@ -65,8 +62,6 @@ namespace CosineKitty
///
public class InternalError: Exception
{
- /// Creates an exception indicating that an unexpected error ocurred.
- /// Diagnostic text about the internal error.
internal InternalError(string message):
base("Internal error. Please report an issue at: https://github.com/cosinekitty/astronomy/issues. Diagnostic: " + message)
{}
@@ -855,13 +850,6 @@ namespace CosineKitty
///
public readonly AstroVector vec;
- ///
- /// Creates an equatorial coordinates object.
- ///
- /// Right ascension in sidereal hours.
- /// Declination in degrees.
- /// Distance to the celestial body in AU.
- /// Equatorial coordinates in vector form.
internal Equatorial(double ra, double dec, double dist, AstroVector vec)
{
this.ra = ra;
@@ -898,12 +886,6 @@ namespace CosineKitty
///
public readonly double elon;
- ///
- /// Creates an object that holds Cartesian and angular ecliptic coordinates.
- ///
- /// ecliptic vector
- /// ecliptic latitude
- /// ecliptic longitude
internal Ecliptic(AstroVector vec, double elat, double elon)
{
this.vec = vec;
@@ -942,13 +924,6 @@ namespace CosineKitty
///
public readonly double dec;
- ///
- /// Creates a topocentric position object.
- ///
- /// Compass direction around the horizon in degrees. 0=North, 90=East, 180=South, 270=West.
- /// Angle in degrees above (positive) or below (negative) the observer's horizon.
- /// Right ascension in sidereal hours.
- /// Declination in degrees.
internal Topocentric(double azimuth, double altitude, double ra, double dec)
{
this.azimuth = azimuth;
@@ -1054,11 +1029,6 @@ namespace CosineKitty
/// Apparent coordinates of the body at the time it crosses the specified hour angle.
public readonly Topocentric hor;
- ///
- /// Creates a struct that represents a celestial body crossing a specific hour angle.
- ///
- /// The date and time when the body crosses the specified hour angle.
- /// Apparent coordinates of the body at the time it crosses the specified hour angle.
internal HourAngleInfo(AstroTime time, Topocentric hor)
{
this.time = time;
@@ -1085,13 +1055,6 @@ namespace CosineKitty
/// The difference between the ecliptic longitudes of the body and the Sun, as seen from the Earth.
public readonly double ecliptic_separation;
- ///
- /// Creates a structure that represents an elongation event.
- ///
- /// The date and time of the observation.
- /// Whether the body is best seen in the morning or the evening.
- /// The angle in degrees between the body and the Sun, as seen from the Earth.
- /// The difference between the ecliptic longitudes of the body and the Sun, as seen from the Earth.
internal ElongationInfo(AstroTime time, Visibility visibility, double elongation, double ecliptic_separation)
{
this.time = time;
@@ -2226,11 +2189,10 @@ namespace CosineKitty
///
/// This class calculates the movement of arbitrary small bodies,
/// such as asteroids or comets, that move through the Solar System.
- /// It does so by calculating the gravitational forces on the bodies
- /// from the Sun and planets. The user of this class supplies a
- /// list of initial positions and velocities for the small bodies.
- /// Then the class can update the positions and velocities over small
- /// time steps.
+ /// It does so by calculating the gravitational forces on the small bodies
+ /// from the Sun and planets. The user of this class supplies an enumeration
+ /// of initial positions and velocities for the small bodies.
+ /// Then the class can update the positions and velocities over small time steps.
///
public class GravitySimulator
{
diff --git a/source/js/README.md b/source/js/README.md
index 636b2780..31285265 100644
--- a/source/js/README.md
+++ b/source/js/README.md
@@ -826,7 +826,7 @@ It is expressed in the equatorial J2000 system (EQJ).
This class calculates the movement of arbitrary small bodies,
such as asteroids or comets, that move through the Solar System.
-It does so by calculating the gravitational forces on the bodies
+It does so by calculating the gravitational forces on the small bodies
from the Sun and planets. The user of this class supplies a
list of initial positions and velocities for the small bodies.
Then the class can update the positions and velocities over small
diff --git a/source/js/astronomy.browser.js b/source/js/astronomy.browser.js
index 534ba4c8..fbbfb50b 100644
--- a/source/js/astronomy.browser.js
+++ b/source/js/astronomy.browser.js
@@ -8772,7 +8772,7 @@ exports.LagrangePointFast = LagrangePointFast;
*
* This class calculates the movement of arbitrary small bodies,
* such as asteroids or comets, that move through the Solar System.
- * It does so by calculating the gravitational forces on the bodies
+ * It does so by calculating the gravitational forces on the small bodies
* from the Sun and planets. The user of this class supplies a
* list of initial positions and velocities for the small bodies.
* Then the class can update the positions and velocities over small
diff --git a/source/js/astronomy.d.ts b/source/js/astronomy.d.ts
index 62e0209f..339d1c77 100644
--- a/source/js/astronomy.d.ts
+++ b/source/js/astronomy.d.ts
@@ -2940,7 +2940,7 @@ export declare function LagrangePointFast(point: number, major_state: StateVecto
*
* This class calculates the movement of arbitrary small bodies,
* such as asteroids or comets, that move through the Solar System.
- * It does so by calculating the gravitational forces on the bodies
+ * It does so by calculating the gravitational forces on the small bodies
* from the Sun and planets. The user of this class supplies a
* list of initial positions and velocities for the small bodies.
* Then the class can update the positions and velocities over small
diff --git a/source/js/astronomy.js b/source/js/astronomy.js
index a3bfa442..10f8f770 100644
--- a/source/js/astronomy.js
+++ b/source/js/astronomy.js
@@ -8771,7 +8771,7 @@ exports.LagrangePointFast = LagrangePointFast;
*
* This class calculates the movement of arbitrary small bodies,
* such as asteroids or comets, that move through the Solar System.
- * It does so by calculating the gravitational forces on the bodies
+ * It does so by calculating the gravitational forces on the small bodies
* from the Sun and planets. The user of this class supplies a
* list of initial positions and velocities for the small bodies.
* Then the class can update the positions and velocities over small
diff --git a/source/js/astronomy.ts b/source/js/astronomy.ts
index 156dc2cb..ec04aa7b 100644
--- a/source/js/astronomy.ts
+++ b/source/js/astronomy.ts
@@ -9203,7 +9203,7 @@ export function LagrangePointFast(
*
* This class calculates the movement of arbitrary small bodies,
* such as asteroids or comets, that move through the Solar System.
- * It does so by calculating the gravitational forces on the bodies
+ * It does so by calculating the gravitational forces on the small bodies
* from the Sun and planets. The user of this class supplies a
* list of initial positions and velocities for the small bodies.
* Then the class can update the positions and velocities over small
diff --git a/source/js/esm/astronomy.js b/source/js/esm/astronomy.js
index ea041741..137f1a22 100644
--- a/source/js/esm/astronomy.js
+++ b/source/js/esm/astronomy.js
@@ -8652,7 +8652,7 @@ export function LagrangePointFast(point, major_state, major_mass, minor_state, m
*
* This class calculates the movement of arbitrary small bodies,
* such as asteroids or comets, that move through the Solar System.
- * It does so by calculating the gravitational forces on the bodies
+ * It does so by calculating the gravitational forces on the small bodies
* from the Sun and planets. The user of this class supplies a
* list of initial positions and velocities for the small bodies.
* Then the class can update the positions and velocities over small
diff --git a/source/kotlin/doc/-gravity-simulator/index.md b/source/kotlin/doc/-gravity-simulator/index.md
index b79cf166..d916eec9 100644
--- a/source/kotlin/doc/-gravity-simulator/index.md
+++ b/source/kotlin/doc/-gravity-simulator/index.md
@@ -6,7 +6,7 @@ class [GravitySimulator](index.md)
A simulation of zero or more small bodies moving through the Solar System.
-This class calculates the movement of arbitrary small bodies, such as asteroids or comets, that move through the Solar System. It does so by calculating the gravitational forces on the bodies from the Sun and planets. The user of this class supplies a list of initial positions and velocities for the bodies. Then the class can update the positions and velocities over small time steps. The gravity simulator also provides access to the positions and velocities of the Sun and planets used in the simulation.
+This class calculates the movement of arbitrary small bodies, such as asteroids or comets, that move through the Solar System. It does so by calculating the gravitational forces on the bodies from the Sun and planets. The user of this class supplies a list of initial positions and velocities for the small bodies. Then the class can update the positions and velocities over small time steps. The gravity simulator also provides access to the positions and velocities of the Sun and planets used in the simulation.
## Constructors
diff --git a/source/kotlin/src/main/kotlin/io/github/cosinekitty/astronomy/astronomy.kt b/source/kotlin/src/main/kotlin/io/github/cosinekitty/astronomy/astronomy.kt
index 5f22bf76..0ce1c98c 100644
--- a/source/kotlin/src/main/kotlin/io/github/cosinekitty/astronomy/astronomy.kt
+++ b/source/kotlin/src/main/kotlin/io/github/cosinekitty/astronomy/astronomy.kt
@@ -7859,7 +7859,7 @@ fun constellation(ra: Double, dec: Double): ConstellationInfo {
* such as asteroids or comets, that move through the Solar System.
* It does so by calculating the gravitational forces on the bodies
* from the Sun and planets. The user of this class supplies a
- * list of initial positions and velocities for the bodies.
+ * list of initial positions and velocities for the small bodies.
* Then the class can update the positions and velocities over small
* time steps. The gravity simulator also provides access to the
* positions and velocities of the Sun and planets used in the simulation.
diff --git a/source/python/README.md b/source/python/README.md
index fde0e47d..2610565e 100644
--- a/source/python/README.md
+++ b/source/python/README.md
@@ -454,7 +454,7 @@ This class calculates the movement of arbitrary small bodies,
such as asteroids or comets, that move through the Solar System.
It does so by calculating the gravitational forces on the bodies
from the Sun and planets. The user of this class supplies a
-list of initial positions and velocities for the bodies.
+list of initial positions and velocities for the small bodies.
Then the class can update the positions and velocities over small
time steps.
@@ -467,9 +467,9 @@ time steps.
| Type | Parameter | Description |
| --- | --- | --- |
-| [`Body`](#Body) | `originBody` | Specifies the origin of the reference frame. All position vectors and velocity vectors will use `originBody` as the origin of the coordinate system. This origin applies to all the input vectors provided in the `bodyStates` parameter of this function, along with all output vectors returned by [`GravitySimulator`](#GravitySimulator).Update. Most callers will want to provide one of the following: `Body.Sun` for heliocentric coordinates, `Body.SSB` for solar system barycentric coordinates, or `Body.Earth` for geocentric coordinates. Note that the gravity simulator does not correct for light travel time; all state vectors are tied to a Newtonian "instantaneous" time. |
+| [`Body`](#Body) | `originBody` | Specifies the origin of the reference frame. All position vectors and velocity vectors will use `originBody` as the origin of the coordinate system. This origin applies to all the input vectors provided in the `bodyStates` parameter of this function, along with all output vectors returned by [`GravitySimulator.Update`](#GravitySimulator.Update). Most callers will want to provide one of the following: `Body.Sun` for heliocentric coordinates, `Body.SSB` for solar system barycentric coordinates, or `Body.Earth` for geocentric coordinates. Note that the gravity simulator does not correct for light travel time; all state vectors are tied to a Newtonian "instantaneous" time. |
| [`Time`](#Time) | `time` | The initial time at which to start the simulation. |
-| [`StateVector[]`](#StateVector[]) | `bodyStates` | An array of zero or more initial state vectors (positions and velocities) of the small bodies to be simulated. The caller must know the positions and velocities of the small bodies at an initial moment in time. Their positions and velocities are expressed with respect to `originBody`, using equatorial J2000 orientation (EQJ). Positions are expressed in astronomical units (AU). Velocities are expressed in AU/day. All the times embedded within the state vectors must exactly match `time`, or this constructor will throw an exception. |
+| [`StateVector`](#StateVector)`[]` | `bodyStates` | An array of zero or more initial state vectors (positions and velocities) of the small bodies to be simulated. The caller must know the positions and velocities of the small bodies at an initial moment in time. Their positions and velocities are expressed with respect to `originBody`, using equatorial J2000 orientation (EQJ). Positions are expressed in astronomical units (AU). Velocities are expressed in AU/day. All the times embedded within the state vectors must exactly match `time`, or this constructor will throw an exception. |
### GravitySimulator.OriginBody(self)
@@ -513,14 +513,14 @@ wants to leave the simulation in its original state.
This function allows a single "undo" of a simulation, and does so
very efficiently.
Usually this function will be called immediately after a matching
-call to [`GravitySimulator`](#GravitySimulator).Update. It has the effect of rolling
+call to [`GravitySimulator.Update`](#GravitySimulator.Update). It has the effect of rolling
back the most recent update. If called twice in a row, it reverts
the swap and thus has no net effect.
The constructor initializes the current state and previous
state to be identical. Both states represent the `time` parameter that was
passed into the constructor. Therefore, `Swap` will
have no effect from the caller's point of view when passed a simulator
-that has not yet been updated by a call to [`GravitySimulator`](#GravitySimulator).Update.
+that has not yet been updated by a call to [`GravitySimulator.Update`](#GravitySimulator.Update).
### GravitySimulator.Time(self)
@@ -547,7 +547,7 @@ this simulator.
| --- | --- | --- |
| [`Time`](#Time) | `time` | A time that is a small increment away from the current simulation time. It is up to the developer to figure out an appropriate time increment. Depending on the trajectories, a smaller or larger increment may be needed for the desired accuracy. Some experimentation may be needed. Generally, bodies that stay in the outer Solar System and move slowly can use larger time steps. Bodies that pass into the inner Solar System and move faster will need a smaller time step to maintain accuracy. The `time` value may be after or before the current simulation time to move forward or backward in time. |
-### Returns: [`StateVector[]`](#StateVector[])
+### Returns: [`StateVector`](#StateVector)`[]`
An array of state vectors, one for each small body.
---
@@ -873,7 +873,7 @@ The value of the calling object is not modified. This function creates a brand n
| Type | Parameter | Description |
| --- | --- | --- |
-| [`The number of days after the J2000 epoch.`](#The number of days after the J2000 epoch.) | `tt` | |
+| `float` | `tt` | The number of days after the J2000 epoch. |
### Returns: [`Time`](#Time)
diff --git a/source/python/astronomy/astronomy.py b/source/python/astronomy/astronomy.py
index e1c4049d..918ff944 100644
--- a/source/python/astronomy/astronomy.py
+++ b/source/python/astronomy/astronomy.py
@@ -643,7 +643,8 @@ class Time:
Parameters
----------
- tt : The number of days after the J2000 epoch.
+ tt : float
+ The number of days after the J2000 epoch.
Returns
-------
@@ -9864,7 +9865,7 @@ class GravitySimulator:
such as asteroids or comets, that move through the Solar System.
It does so by calculating the gravitational forces on the bodies
from the Sun and planets. The user of this class supplies a
- list of initial positions and velocities for the bodies.
+ list of initial positions and velocities for the small bodies.
Then the class can update the positions and velocities over small
time steps.
"""