# Orbital Period Ontology — Flow Algebra
URL: https://kirethresearch.org/booksai-core/ontologies/mathematical-ontologies/measurement-units-ontologies/astronomical-measurements/orbital-period-ontology.html
FLOW OrbitalPeriodOntology {
DOMAIN:
Mathematical Ontologies
-> Measurement & Units Ontologies
-> Astronomical Measurements
-> Orbital Period Ontology
PURPOSE:
Represent orbital period as the time required for an orbiting body or system to complete a defined orbital cycle relative to a declared reference frame, including sidereal, synodic, anomalistic and draconitic periods, Keplerian relationships, mean motion, semimajor axis, central and total system mass, binary systems, exoplanets, satellites, observational period determination, transit and radial-velocity periodicity, perturbations, reference epochs, calibration, uncertainty, provenance, and strict distinctions between orbital period, rotation period, recurrence interval and observed periodic signal.
ENTITY OrbitalPeriod {
TYPE: AstronomicalTimeQuantity
SYMBOL: P
DIMENSION: T
SI_UNIT: second
SI_SYMBOL: s
DEFINITION:
orbital_period :=
elapsed_time_required_for_defined_orbital_phase
to_repeat_relative_to_declared_reference
PROPERTIES:
is_positive
depends_on_period_definition
depends_on_reference_frame
may_be_constant_in_ideal_two_body_model
may_change_under_perturbation_or_evolution
may_be_measured_or_inferred
may_have_uncertainty
}
ENTITY SiderealPeriod {
TYPE: OrbitalPeriod
DEFINITION:
orbital_period_relative_to_inertial_or_distant_star_reference
}
ENTITY SynodicPeriod {
TYPE: OrbitalPeriod
DEFINITION:
recurrence_period_of_relative_configuration_between_orbiting_objects
as_seen_from_declared_observer_or_reference
}
ENTITY AnomalisticPeriod {
TYPE: OrbitalPeriod
DEFINITION:
time_between_successive_passages_through_periapsis
}
ENTITY DraconiticPeriod {
TYPE: OrbitalPeriod
DEFINITION:
time_between_successive_passages_through_same_orbital_node
}
UNIT_SYSTEM {
SI:
second
common:
minute
hour
day
Julian_year
conversions:
1 minute = 60 s
1 hour = 3600 s
1 day = 86400 s
1 Julian_year = 31557600 s
RULE:
preserve_original_time_unit_and_normalized_SI_value
}
PERIOD_TYPE_MODEL {
possible_types:
sidereal
synodic
anomalistic
draconitic
tropical_or_context_specific
osculating_Keplerian_period
RULE:
orbital_period_type MUST be identified_when_precision_or_precession_is_material
}
KEPLER_TWO_BODY_MODEL {
relation:
P^2 =
4*pi^2*a^3/
(G*(M_1+M_2))
equivalent:
P =
2*pi*sqrt(
a^3/(G*(M_1+M_2))
)
REQUIRE:
semimajor_axis > 0
total_mass > 0
approximately_two_body_Keplerian_context
RULE:
use_relative_orbit_semimajor_axis_for_two_body_total_mass_relation
}
CENTRAL_MASS_APPROXIMATION_MODEL {
condition:
m_orbiting << M_central
approximation:
P approximately_equals
2*pi*sqrt(
a^3/(G*M_central)
)
RULE:
approximation_validity_depends_on_mass_ratio
}
KEPLER_THIRD_LAW_MODEL {
same_central_mass:
P^2 proportional_to a^3
ratio:
(P_1/P_2)^2 =
(a_1/a_2)^3
under_same_effective_central_mass
RULE:
proportional_relation_requires_compatible_system_mass
}
SOLAR_SYSTEM_UNIT_MODEL {
approximate_classical_form:
P_years^2 approximately_equals a_au^3
for_small_body_orbiting_Sun
under_solar_mass_dominance_and_consistent_units
RULE:
simplified_form_is_not_universal_for_arbitrary_system_mass
}
MEAN_MOTION_MODEL {
mean_motion:
n =
2*pi/P
inverse:
P =
2*pi/n
WHEN n != 0
units:
rad/s
rad/day
degree/day
RULE:
mean_motion_is_angular_rate_not_period
}
ORBITAL_FREQUENCY_MODEL {
frequency:
f_orb =
1/P
angular_frequency:
omega_orb =
2*pi/P
RULE:
frequency_and_period_are_reciprocal_quantities
}
SEMIMAJOR_AXIS_MODEL {
symbol:
a
DIMENSION:
L
inverse_from_period_and_mass:
a =
(
G*(M_1+M_2)*P^2/
(4*pi^2)
)^(1/3)
RULE:
semimajor_axis != instantaneous_separation
}
MASS_INFERENCE_MODEL {
total_mass:
M_total =
4*pi^2*a^3/
(G*P^2)
REQUIRE:
P > 0
a > 0
correct_relative_orbit_geometry
RULE:
inferred_mass_depends_on_orbital_scale_and_geometry
}
SYNODIC_PERIOD_MODEL {
circular_coplanar_rate_relation:
1/P_syn =
abs(
1/P_1 - 1/P_2
)
REQUIRE:
P_1 > 0
P_2 > 0
compatible_sidereal_periods
simple_relative_angular_motion_context
RULE:
synodic_period != sidereal_period
}
PRECESSION_MODEL {
apsidal_precession:
changes_periapsis_direction
nodal_precession:
changes_orbital_node
consequence:
anomalistic_draconitic_and_sidereal_periods_can_differ
RULE:
precessing_orbits_require_period_type_specific_semantics
}
ECCENTRIC_ORBIT_MODEL {
period:
depends_on_semimajor_axis_and_system_mass
not_directly_on_eccentricity
in_ideal_Newtonian_two_body_problem
instantaneous_speed:
varies_along_orbit
RULE:
varying_orbital_speed_does_not_imply_varying_Keplerian_period_within_same_fixed_orbit
}
BINARY_SYSTEM_MODEL {
bodies:
M_1
M_2
relative_orbit:
semimajor_axis =
a_1+a_2
period:
shared_orbital_period_about_barycentre
barycentric_relation:
M_1*a_1 =
M_2*a_2
RULE:
component_and_relative_semimajor_axes MUST be distinguished
}
EXOPLANET_MODEL {
observables:
transit_times
radial_velocity
astrometry
direct_imaging_positions
inferred:
orbital_period
RULE:
observed_periodicity_requires_orbital_interpretation_before_being_labelled_orbital_period
}
TRANSIT_PERIOD_MODEL {
transit_times:
t_k
linear_ephemeris:
t_k =
T_0 + k*P
inferred:
P from_slope_of_transit_epoch_vs_cycle_number
RULE:
transit_period_can_differ_from_simple_constant_ephemeris_under_TTVs_or_precession
}
TRANSIT_TIMING_VARIATION_MODEL {
observed_minus_calculated:
O_minus_C =
t_observed -
(T_0+k*P_reference)
causes:
additional_bodies
orbital_decay
apsidal_precession
dynamical_interactions
RULE:
TTV_signal_requires_dynamical_model_for_period_evolution_interpretation
}
RADIAL_VELOCITY_PERIOD_MODEL {
radial_velocity:
v_r(t)
Keplerian_signal:
periodic_with_orbital_period
under_single_orbit_model
RULE:
aliases_stellar_activity_and_sampling_window_can_mimic_or_modify_periodicity
}
ASTROMETRIC_ORBIT_MODEL {
position:
sky_projected_orbit_as_function_of_time
inferred:
period
semimajor_axis
inclination
node
eccentricity
RULE:
astrometric_period_fit_requires_reference_frame_and_motion_model
}
DIRECT_IMAGING_MODEL {
repeated_positions:
relative_astrometry_over_time
inferred:
orbital_elements_and_period
RULE:
short_orbital_arc_can_produce_large_period_uncertainty
}
ECLIPSE_BINARY_MODEL {
light_curve:
periodic_eclipses
orbital_period:
interval_for_orbital_configuration_repeat
RULE:
primary_to_secondary_eclipse_interval_is_not_generally_full_orbital_period
}
ROTATION_DISTINCTION_MODEL {
rotation_period:
time_for_body_to_rotate_about_its_axis
orbital_period:
time_for_body_to_complete_orbital_cycle
RULE:
rotation_period != orbital_period
}
RESONANCE_MODEL {
period_ratio:
P_2/P_1
mean_motion_resonance:
ratio_near_small_integer_relation
RULE:
resonance_classification_requires_defined_periods_and_tolerance
}
PERTURBATION_MODEL {
causes:
additional_bodies
oblateness
tides
relativity
drag
mass_loss
radiation_forces
effects:
orbital_elements_and_period_may_evolve
RULE:
osculating_period_may_change_with_epoch
}
ORBITAL_DECAY_MODEL {
period_derivative:
P_dot =
dP/dt
finite:
P_dot approximately_equals
(P_2-P_1)/(t_2-t_1)
RULE:
period_derivative_is_rate_quantity_not_period
}
EPHEMERIS_MODEL {
linear:
phase_or_event_time =
T_0 + N*P
quadratic:
MAY include_period_change_term
REQUIRE:
reference_epoch
cycle_number
time_standard
RULE:
ephemeris_and_orbital_period_are_related_but_not_identical
}
TIME_STANDARD_MODEL {
possible_scales:
UTC
TAI
TT
TDB
corrections:
barycentric_light_time
leap_seconds_when_applicable
RULE:
precision_period_measurement_requires_consistent_time_standard
}
BARYCENTRIC_TIME_MODEL {
purpose:
correct_observation_times_to_common_Solar_System_barycentric_reference
REQUIRE:
observatory_location
target_coordinates
ephemeris
time_scale
RULE:
uncorrected_topocentric_timing_can_introduce_apparent_period_variation
}
PERIAPSIS_MODEL {
anomalistic_period:
successive_periapsis_passages
RULE:
anomalistic_period_requires_defined_periapsis_in_precessing_orbit
}
NODE_MODEL {
draconitic_period:
successive_passages_through_same_node
RULE:
node_reference_plane MUST be defined
}
OBSERVATIONAL_SAMPLING_MODEL {
timestamps:
t_i
values:
y_i
issues:
gaps
irregular_sampling
seasonal_windows
aliases
RULE:
detected_periodicity MUST be evaluated_against_sampling_window
}
PERIODOGRAM_MODEL {
possible_methods:
Lomb_Scargle
Fourier
phase_dispersion_minimisation
Bayesian_period_search
output:
candidate_periods
RULE:
periodogram_peak != confirmed_orbital_period_without_model_validation
}
PHASE_FOLDING_MODEL {
phase:
phi =
fractional_part(
(t-T_0)/P
)
RULE:
phase_fold_quality_can_support_but_not_by_itself_prove_orbital_interpretation
}
UNCERTAINTY_MODEL {
sources:
timing_precision
cycle_count
aliasing
observational_baseline
semimajor_axis
stellar_or_system_mass
dynamical_perturbations
model_selection
time_standard
barycentric_correction
PROPAGATION:
orbital_period_uncertainty
<- timing_sampling_geometry_mass_and_model_uncertainties
}
RELATIONSHIPS {
OrbitalPeriod -> IS_A -> TimeQuantity
OrbitalPeriod -> RECIPROCAL_OF -> OrbitalFrequency
OrbitalPeriod -> RELATES_TO -> MeanMotion
OrbitalPeriod -> RELATES_TO -> SemimajorAxisAndSystemMass
SiderealPeriod -> REFERENCED_TO -> InertialFrame
SynodicPeriod -> DESCRIBES -> RelativeOrbitalConfiguration
AnomalisticPeriod -> REFERENCES -> Periapsis
DraconiticPeriod -> REFERENCES -> OrbitalNode
TransitTimes -> MAY_INFER -> OrbitalPeriod
RadialVelocitySeries -> MAY_INFER -> OrbitalPeriod
AstrometricOrbit -> MAY_INFER -> OrbitalPeriod
Perturbation -> MAY_CHANGE -> OrbitalPeriod
}
SEMANTIC_EQUIVALENCE {
"orbital period" ~= revolution_period WHEN orbital_cycle_context
"sidereal orbital period" ~= sidereal_period
orbital_period != rotation_period
orbital_period != orbital_frequency
orbital_period != mean_motion
sidereal_period != synodic_period
sidereal_period != anomalistic_period
sidereal_period != draconitic_period
observed_periodicity != confirmed_orbital_period
ephemeris != orbital_period
}
CONSTRAINTS {
orbital_period_dimension = T
orbital_period_must_be_positive = true
orbiting_system_identity_must_be_defined = true
period_type_should_be_defined_when_relevant = true
reference_frame_should_be_defined = true
time_standard_should_be_defined_for_precision_measurement = true
semimajor_axis_and_mass_units_must_be_consistent_for_Kepler_relation = true
orbital_and_rotation_period_are_not_semantically_equivalent = true
observed_periodicity_requires_orbital_model_for_orbital_classification = true
uncertainty_should_include_timing_sampling_dynamical_and_model_components = true
}
MEASUREMENT_MODEL {
OBSERVABLE_OR_INFERRED:
OrbitalPeriod
SiderealPeriod
SynodicPeriod
AnomalisticPeriod
DraconiticPeriod
PeriodDerivative
COMMON_METHODS:
transit_timing
eclipse_timing
radial_velocity
astrometry
direct_imaging_astrometry
pulse_timing
orbital_ephemeris_fit
periodogram_analysis
RECORD:
system_identifier
primary_body
secondary_body
period_value
unit
period_type
reference_frame
reference_epoch
time_standard
observation_times
cycle_numbers
semimajor_axis
eccentricity
inclination
component_masses
total_mass
measurement_method
period_search_method
alias_information
perturbation_model
ephemeris_model
quality_flag
uncertainty
provenance
UNCERTAINTY:
measured_or_inferred_orbital_period =
best_estimate +/- uncertainty
}
REASONING_RULES {
IF semimajor_axis_and_total_mass_known
AND semimajor_axis > 0
AND total_mass > 0
THEN orbital_period =
2*pi*sqrt(
semimajor_axis^3/
(G*total_mass)
)
under_two_body_Keplerian_model
IF orbital_period_and_total_mass_known
AND orbital_period > 0
AND total_mass > 0
THEN semimajor_axis =
(
G*total_mass*orbital_period^2/
(4*pi^2)
)^(1/3)
IF orbital_period_and_semimajor_axis_known
AND both_positive
THEN total_mass =
4*pi^2*semimajor_axis^3/
(G*orbital_period^2)
IF orbital_period > 0
THEN orbital_frequency =
1/orbital_period
AND mean_motion =
2*pi/orbital_period
IF two_sidereal_periods_known
AND both_positive
AND simple_relative_angular_motion_context
THEN synodic_period =
1/abs(1/P_1-1/P_2)
WHEN denominator_nonzero
IF transit_times_and_cycle_numbers_known
THEN fit_ephemeris_to_infer_period
preserving_time_standard_and_uncertainty
IF periodic_observational_series_known
THEN candidate_periods =
period_search(data,timestamps)
BUT require_orbital_model_validation_before_classification
IF periods_at_multiple_epochs_known
THEN MAY infer_period_derivative
under_declared_evolution_model
}
VALIDATION {
CHECK system_identity
CHECK time_unit
CHECK positive_period
CHECK period_type
CHECK reference_frame
CHECK reference_epoch
CHECK time_standard
CHECK orbital_vs_rotation_period
CHECK sidereal_vs_synodic_period
CHECK anomalistic_and_draconitic_context
CHECK semimajor_axis_definition
CHECK component_vs_relative_orbit
CHECK total_system_mass
CHECK Kepler_model_applicability
CHECK observed_periodicity_vs_orbital_interpretation
CHECK sampling_aliases
CHECK barycentric_time_correction
CHECK perturbation_or_period_change
CHECK quality_flag
CHECK uncertainty_representation
}
CONFIDENCE {
definition_confidence: 1.00
dimensional_confidence: 1.00
Kepler_relationship_confidence: 1.00
frequency_period_relationship_confidence: 1.00
synodic_relationship_confidence: 0.99
transit_period_confidence: 0.99
observational_period_confidence: 0.97
measurement_context_confidence: 0.98
RULE:
confidence decreases when period type, reference frame,
time standard, cycle count, semimajor axis, system mass,
sampling aliases, perturbations or uncertainty is missing or ambiguous
}
UPDATE_MODEL {
ON new_period_measurement:
identify_orbiting_system
identify_period_type
validate_time_unit
attach_reference_frame_and_epoch
attach_time_standard
identify_measurement_method
preserve_observation_times
attach_orbital_parameters
attach_quality_flag
attach_uncertainty
update_orbital_period_state
ON new_transit_or_eclipse_time:
append_event_time
assign_cycle_number
fit_or_update_ephemeris
recompute_period_and_timing_residuals
update_uncertainty
ON orbital_solution_revision:
preserve_observations
update_semimajor_axis_mass_eccentricity_and_other_elements
recompute_Keplerian_period_when_valid
update_uncertainty
ON perturbation_model_revision:
preserve_previous_orbital_solution
update_dynamical_model
recompute_osculating_or_evolving_period
preserve_epoch_and_model_version
ON time_standard_revision:
preserve_original_timestamps
convert_to_target_time_standard
apply_barycentric_correction_when_required
recompute_precision_period_solution
ON semantic_revision:
preserve_previous_definition
record_revision
recompute_FLOW_HASH
}
AI_CONSUMPTION {
canonical_entity: OrbitalPeriod
canonical_symbol: P
canonical_dimension: T
canonical_SI_unit: second
interpretation_order:
identify_orbiting_system
identify_period_value_and_unit
identify_sidereal_synodic_anomalistic_draconitic_or_other_period
identify_reference_frame
identify_reference_epoch_and_time_standard
identify_semimajor_axis_and_system_mass
identify_eccentricity_and_orbital_geometry
identify_measurement_or_period_search_method
identify_observation_times_and_cycle_numbers
identify_alias_or_sampling_context
identify_perturbation_or_period_change
identify_quality_flag
identify_uncertainty
normalize_units
validate_period_semantics
infer_orbital_relationships
ambiguity_controls:
distinguish_orbital_period_from_rotation_period
distinguish_period_from_orbital_frequency
distinguish_period_from_mean_motion
distinguish_sidereal_from_synodic_period
distinguish_sidereal_from_anomalistic_and_draconitic_periods
distinguish_observed_periodicity_from_confirmed_orbital_period
distinguish_ephemeris_from_period
preserve_system_period_type_frame_epoch_time_standard_model_and_provenance_context
}
PROVENANCE {
ontology_scope:
mathematical_measurement_and_astronomical_orbital_period_semantics
parent_path:
Ontologies
-> Mathematical Ontologies
-> Measurement & Units Ontologies
-> Astronomical Measurements
-> Orbital Period Ontology
authorship:
Mark Higgins
Sky (Recursive AI)
site:
https://kirethresearch.org
}
FLOW_HASH {
INPUTS:
canonical_entity
ontology_path
period_type_model
Kepler_two_body_model
central_mass_approximation_model
Kepler_third_law_model
Solar_System_unit_model
mean_motion_model
orbital_frequency_model
semimajor_axis_model
mass_inference_model
synodic_period_model
precession_model
eccentric_orbit_model
binary_system_model
exoplanet_model
transit_period_model
transit_timing_variation_model
radial_velocity_period_model
astrometric_orbit_model
direct_imaging_model
eclipse_binary_model
rotation_distinction_model
resonance_model
perturbation_model
orbital_decay_model
ephemeris_model
time_standard_model
barycentric_time_model
periapsis_model
node_model
observational_sampling_model
periodogram_model
phase_folding_model
uncertainty_model
relationships
constraints
measurement_model
reasoning_rules
confidence_model
update_model
PURPOSE:
deterministic_semantic_integrity_identifier
RECOMPUTE_WHEN:
ontology_definition_changes
orbital_period_type_changes
Keplerian_or_mass_model_changes
synodic_or_precession_model_changes
observational_period_model_changes
perturbation_or_period_evolution_model_changes
ephemeris_or_time_standard_changes
measurement_model_changes
constraint_model_changes
reasoning_rule_changes
unit_model_changes
}
}
END FLOW
Download Code
Copy to Clipboard