Configuration
The $PCF Configuration Message
One FlatBuffer message configures a propagation: the theory, the forces, the fit policy, the events, the output. This reference is generated from the Space Data Standards schema schema/PCF/main.fbs (schema 1.0.1, Space Data Standards 1.267.0): 17 tables, 171 fields and 22 enumerations.
In SDN-AP
What Each Method Reads
Every method takes one $PCF on its required configuration port and reads THEORY and its own tables; another method's tables are left to it. A field left unset takes the default the schema documents. A value the module cannot apply is refused by name.
| Method | Tables read | THEORY |
|---|---|---|
propagate, maneuver | MEAN_ELEMENT, SEGMENTS, OUTPUT, FORCES | UNSPECIFIED is each set's own; another value must match it |
fit | FIT, MEAN_ELEMENT, SEGMENTS, FORCES | UNSPECIFIED or SGP4XP fits SGP4-XP; SDNAP fits SDN-AP |
detect_maneuvers | MEAN_ELEMENT, MANEUVER_DETECTION | SDNAP (UNSPECIFIED reads as it) |
reentry | REENTRY, MEAN_ELEMENT, FORCES | UNSPECIFIED is each set's own; another value must match it |
launch_set, launch_batch | LAUNCH, MEAN_ELEMENT | SDNAP (UNSPECIFIED reads as it) |
| Table | What SDN-AP applies |
|---|---|
| THEORY | FFM and KEPLER are refused: they belong to other propagators. |
| MEAN_ELEMENT | Applies to SDN-AP sets. SGP4 and SGP4-XP keep their own truncations; another value for them is refused. |
| FORCES | Only EMPIRICAL_TERMS (SDN-AP), the density-correction relaxation 0 (held) and an empty EPHEMERIS_SOURCE (the theories' own analytic Sun and Moon): the averaged theories apply their own forces. |
| INTEGRATOR | Refused: the averaged theories integrate on their own grid. |
| EVENTS | Refused when not empty. |
| FIT | Every field. |
| REENTRY | WINDOW_METHOD LINEAR. |
| OUTPUT | TEME, GCRF or EME2000, at most 500,000 states. |
| MANEUVER_DETECTION | FALSE_ALARMS_PER_OBJECT_YEAR 1; CORRELATION_MODEL WHITE or ONE_SAMPLE_PER_REVOLUTION. |
| SEGMENTS | The cislunar and heliocentric steps and the 6 h cislunar segment at their defaults. |
| LAUNCH | Every field, within its documented range. |
Reference
Tables
PCF(the message)PCFGaussianPriorPCFEmpiricalTermsPCFMeanElementOptionsPCFSegmentOptionsPCFFitPolicyPCFExpressionTermPCFExpressionPCFEventDefinitionPCFManeuverDetectionPCFReentryPCFLaunchPCFOutputPCFSpaceWeatherPCFEcom2PCFIntegratorSettingsPCFForceModel
PCF
Propagation Configuration ($PCF 1.0): one FlatBuffer message that configures any propagator (SGP4, SGP4-XP, the advanced mean-element propagator, the full force model, Kepler): the theory, the integrator and its settings, the forces, the fit policy, the events to locate, maneuver detection, reentry hand-off, launch priors and the output. A host passes it beside the request; the method it invokes (propagate, fit, detect maneuvers, reentry, launch) selects the tables that method reads. An absent table takes the theory's own defaults; a table or value the selected theory cannot honor is refused by name, never silently dropped. $PRW reuses PCFIntegratorSettings, PCFForceModel and their enums, so the runtime wire and the configuration share one definition of each. Units are in the field names and docs; every field states its default.
| Field | Type | Default | Meaning |
|---|---|---|---|
CONFIGURATION_ID | string | — | Opaque identifier of this configuration, for provenance. Default empty. |
PROFILE | string | — | Named profile this configuration instantiates, for example "FFM-1". Informational: every value that matters is carried below. Default empty. |
THEORY | pcfTheory | UNSPECIFIED | The orbit theory. Default UNSPECIFIED (the receiving module's own). |
INTEGRATOR | PCFIntegratorSettings | — | Integrator and settings. Absent: the theory's own. |
FORCES | PCFForceModel | — | Forces. Absent: the theory's built-in set. |
MEAN_ELEMENT | PCFMeanElementOptions | — | Truncations and switches of the averaged theories (SGP4XP, SDNAP). |
SEGMENTS | PCFSegmentOptions | — | Beyond-Earth segment sets. |
FIT | PCFFitPolicy | — | Fit policy. |
EVENTS | list of PCFEventDefinition | — | Events located while integrating. Default empty. |
MANEUVER_DETECTION | PCFManeuverDetection | — | Maneuver detection. |
REENTRY | PCFReentry | — | Reentry hand-off and window. |
LAUNCH | PCFLaunch | — | Launch initialization priors. |
OUTPUT | PCFOutput | — | Output states. |
PCFGaussianPrior
A Gaussian prior on a fitted parameter. A prior with HAS_SIGMA false keeps the theory's own sigma and moves only the mean.
| Field | Type | Default | Meaning |
|---|---|---|---|
MEAN | double | 0 | Prior mean, in the unit of the parameter it is attached to. Default 0. |
SIGMA | double | 0 | Prior standard deviation, in the same unit; > 0 when HAS_SIGMA. |
HAS_SIGMA | bool | false | True when SIGMA carries a value; false keeps the theory's own sigma. |
PCFEmpiricalTerms
Empirical along-track terms of the averaged theories: a transverse acceleration [TAU0 + TAUC cos u + TAUS sin u] g(t), u the argument of latitude and g = 1 on the fit arc.
| Field | Type | Default | Meaning |
|---|---|---|---|
ONCE_PER_REVOLUTION | bool | true | Fit the once-per-revolution pair (TAUC, TAUS). Default true. |
TAU0_RULE_LIMIT_M2_KG | double | 0.5 | The constant term TAU0 is free only when this rule selects it: a fitted B_eff above this limit, m2/kg, is replaced by TAU0 with B_eff at its prior. Default 0.5; the rule applies only when HAS_TAU0_RULE_LIMIT_M2_KG. |
HAS_TAU0_RULE_LIMIT_M2_KG | bool | false | True turns the TAU0 rule on with TAU0_RULE_LIMIT_M2_KG; false (the default) leaves TAU0 off. |
HELD_ABOVE_DRAG_REGIME | bool | false | True holds TAUC and TAUS after the arc end above the drag regime instead of decaying them. Default false. |
PERSISTENCE_HOURS | double | 24 | Persistence time of the empirical force after the arc end, hours. Default 24. |
PCFMeanElementOptions
Truncations and switches of the averaged (mean-element) theories SGP4XP and SDNAP. SGP4's constants are fixed by its specification and are not options.
| Field | Type | Default | Meaning |
|---|---|---|---|
M_DAILY_MAXIMUM_DEGREE | ubyte | 12 | Highest even degree of the m-daily short-periodic gravity terms; 0 omits them. Range 0 to 16. Default 12. |
ZONAL_MAXIMUM_DEGREE | ubyte | 20 | Highest degree of the zonal tail (secular and long-period terms past J5). Range 6 to 70. Default 20. |
SHORT_PERIODIC_MAXIMUM_DEGREE | ubyte | 7 | Highest degree of the eccentricity-vector short-periodic terms. Range 2 to 16. Default 7. |
ENABLE_RESONANCE | bool | true | Resonance terms on or off. Default true. |
RESONANCE_MAXIMUM_DEGREE | ubyte | 31 | Highest odd degree of the shallow-resonance terms. Default 31. |
RESONANCE_BAND | double | 0.045 | Resonance band: terms whose angle drifts slower than this fraction of the mean motion are integrated with the rates. Default 0.045. |
RESONANCE_MAXIMUM_K | ubyte | 1 | Highest multiple of the mean anomaly in a resonance angle. Default 1. |
NEAR_RESONANCE_BAND | double | 0 | Near-resonance band at output time, as a fraction of the mean motion beyond RESONANCE_BAND; 0 is off. Default 0. |
GRID_STEP_DIVISOR | ubyte | 1 | Divisor of the integration grid step; >= 1. Default 1. |
DENSITY_KERNEL | bool | true | The catalog-shared density kernel (a gridded log-density table shared by every object) on or off; off evaluates the atmosphere model directly. Default true. |
DRAG_REGIME_PERIGEE_KM | double | 2500 | Perigee height below which B_eff and TAU0 act (the drag regime), km. Default 2500. |
PCFSegmentOptions
Beyond-Earth segment sets: Moon-centered, cislunar and heliocentric arcs cut into segments at maneuvers and sphere-of-influence passages.
| Field | Type | Default | Meaning |
|---|---|---|---|
MOON_GRAVITY_MAXIMUM_DEGREE | ushort | 70 | Moon-centered gravity field degree. Default 70. |
MOON_SHORT_PERIODIC_MAXIMUM_DEGREE | ubyte | 8 | Moon-centered short-periodic degree. Default 8. |
MOON_ECCENTRICITY_ORDER | ubyte | 2 | Moon-centered eccentricity order (highest |q| of the mean-anomaly multiple kept). Default 2. |
MOON_STEP_SECONDS | double | 240 | Moon-centered integration step, seconds. Default 240. |
CISLUNAR_STEP_SECONDS | double | 60 | Cislunar integration step, seconds. Default 60. |
HELIOCENTRIC_STEP_SECONDS | double | 1800 | Heliocentric integration step, seconds. Default 1800. |
SEGMENT_RMS_FACTOR | double | 2 | A segment is accepted when its RMS is within max(RMS_FACTOR x the cleanest segment's RMS, that RMS + RMS_MARGIN_KM). Factor, default 2. |
SEGMENT_RMS_MARGIN_KM | double | 0.05 | The additive term of the same rule, km. Default 0.05. |
CISLUNAR_MINIMUM_SEGMENT_HOURS | double | 6 | Shortest cislunar segment, hours. Default 6. |
PCFFitPolicy
Fit policy: how long an arc a fit uses, how that is validated, and what a fit refuses.
| Field | Type | Default | Meaning |
|---|---|---|---|
DEFAULT_SPAN_HOURS | double | 48 | Fit span used when the span rule is not run, hours. Default 48. |
MINIMUM_SPAN_HOURS | double | 24 | Shortest span a fit may take, hours. Default 24. |
MAXIMUM_SPAN_HOURS | double | 120 | Longest span a fit may take, hours. Default 120. |
CANDIDATE_SPANS_HOURS | list of double | — | Spans the extension rule scores, ascending, hours, each within [MINIMUM_SPAN_HOURS, MAXIMUM_SPAN_HOURS]. Empty: 48, 72 and 120; with 24 in front when the eccentricity exceeds ECCENTRICITY_THRESHOLD. |
TAIL_HOURS | double | 24 | Validation tail: each candidate is fitted to the data before the latest TAIL_HOURS and scored on that tail, hours. Default 24. |
EXTENSION_MARGIN | double | 0.9 | Extension rule: a longer candidate is taken only when its tail error is at most this fraction of the best shorter candidate's. Default 0.9. |
HOLDOUT_HOURS | double | 0 | Hours held out at the end of the data and reported as error growth; the fit then ends HOLDOUT_HOURS before the data does. Absent, the data block's own useable stop time decides. |
HAS_HOLDOUT_HOURS | bool | false | True when HOLDOUT_HOURS carries a value; false means absent. |
ECCENTRICITY_THRESHOLD | double | 0.5 | Eccentricity above which the eccentric-orbit rule applies. Default 0.5. |
ECCENTRIC_DEFAULT_SPAN_HOURS | double | 24 | Eccentric orbits: the default span, hours. Default 24. |
ECCENTRIC_EXTENSION_MARGIN | double | 0.7 | Eccentric orbits: EXTENSION_MARGIN. Default 0.7. |
ECCENTRIC_MAXIMUM_PERIOD_HOURS | double | 36 | Eccentric orbits: no candidate longer than this is tried once the orbital period passes it, hours. Default 36. |
IMPLAUSIBLE_RMS_KM | double | 100 | A fit whose RMS passes this is refused as fit-implausible, km. Default 100. |
DRAG_PRIOR | PCFGaussianPrior | — | Prior on B_eff, the signed drag area-to-mass ratio Cd*A/m, m2/kg. Absent or without sigma: mean 0; sigma 1.0 for SDNAP, 0.05 for SGP4XP. |
SRP_PRIOR | PCFGaussianPrior | — | Prior on AGOM, the radiation-pressure area-to-mass ratio Cr*A/m, m2/kg. Absent or without sigma: mean 0, sigma 0.05. |
PCFExpressionTerm
One term of an expression program.
| Field | Type | Default | Meaning |
|---|---|---|---|
OPERATION | pcfExpressionOperation | UNSPECIFIED | What the term does. Default UNSPECIFIED (refused). |
VALUE | double | 0 | The constant pushed by CONSTANT. Default 0. |
PARAMETER | pceParameter | UNSPECIFIED | The catalog parameter pushed by PARAMETER. Default UNSPECIFIED. |
PCFExpression
A reverse Polish program of at most 64 terms and stack depth 16 that leaves one number.
| Field | Type | Default | Meaning |
|---|---|---|---|
TERMS | list of PCFExpressionTerm | — | The terms, in evaluation order. Default empty. |
PCFEventDefinition
One event to locate inside the integration. A $PCF carries the list; a $PRW execution request carries the same definitions beside the integrator settings, and a located event comes back as a PRWEventRecord.
| Field | Type | Default | Meaning |
|---|---|---|---|
KIND | pcfEventKind | UNSPECIFIED | The event function. Default UNSPECIFIED (refused). |
DIRECTION | pcfEventDirection | ANY | Which zero crossings of the event function count. Default ANY. |
ACTION | pcfEventAction | RECORD | What the integrator does at the event. Default RECORD. |
TOLERANCE_SECONDS | double | 1e-9 | Tolerance on the located epoch, seconds; 0 also selects 1e-9. Default 1e-9. |
OCCURRENCE | uint | 1 | STOP acts at this qualifying crossing (1 is the first). Default 1. |
ANGLE_RAD | double | 0 | TRUE_ANOMALY and ARGUMENT_OF_LATITUDE: the angle, radians. Default 0. |
PLANE_NORMAL | FRMVector3 | — | PLANE_CROSSING: the normal, in the request's axes; it need not be a unit vector. Default absent (the pole of the axes). |
SECOND_TRAJECTORY_PORT | string | — | CLOSEST_APPROACH: the id of the input port that carries the second trajectory as $OEM; "second_trajectory" is the port FFM declares. Default empty. |
EXPRESSION | PCFExpression | — | EXPRESSION: the program. Default absent. |
PCFManeuverDetection
Maneuver detection from fit innovations: a generalized-likelihood-ratio scan of the six mean elements.
| Field | Type | Default | Meaning |
|---|---|---|---|
FALSE_ALARMS_PER_OBJECT_YEAR | double | 1 | False-alarm rate the THRESHOLD is calibrated for, per object-year. A provider that cannot recalibrate refuses another rate. Default 1. |
CORRELATION_MODEL | pcfInnovationCorrelation | ONE_SAMPLE_PER_REVOLUTION | How innovation correlation is weighted. Default ONE_SAMPLE_PER_REVOLUTION. |
THRESHOLD | double | 20 | The statistic Lambda (chi-square, 3 degrees of freedom) above which a maneuver is declared. Default 20. |
MARGIN_STATES | uint | 12 | States kept clear at each end of the arc when scanning. Default 12. |
REFINE_WINDOW_HOURS | double | 2 | Half-width of the window the burn epoch is refined in, hours. Default 2. |
MINIMUM_STATES | uint | 48 | Fewest states an arc must hold to be scanned. Default 48. |
PCFReentry
Reentry: where the averaged theory hands off to osculating integration, where the trajectory ends, and the width of the reentry window.
| Field | Type | Default | Meaning |
|---|---|---|---|
ALTITUDE_KM | double | 80 | Altitude at which the trajectory ends as reentered, km. Default 80. |
HANDOFF_PERIGEE_ALTITUDE_KM | double | 180 | Hand-off when the perigee altitude falls below this, km. Default 180. |
HANDOFF_DECAY_RATIO | double | 0.05 | Hand-off when the decay over one step, 4 pi |da/dt| / (n H), passes this fraction of the density scale height H. Default 0.05. |
HANDOFF_ECCENTRICITY_COLLAPSE | double | 0.01 | Hand-off when the eccentricity collapses by more than this fraction of a e per revolution, with the eccentricity above HANDOFF_MINIMUM_ECCENTRICITY. Default 0.01. |
HANDOFF_MINIMUM_ECCENTRICITY | double | 0.01 | Eccentricity above which the collapse test applies. Default 0.01. |
NODE_STEP_MINUTES | double | 30 | Spacing of the nodes the hand-off tests are evaluated at, minutes. Default 30. |
HORIZON_DAYS | double | 120 | Longest look-ahead for a hand-off or reentry, days. Default 120. |
WINDOW_METHOD | pcfReentryWindowMethod | LINEAR | How the reentry window is computed. Default LINEAR. |
WINDOW_DENSITY_SIGMA | double | 0.15 | Fractional 1-sigma density error of the window. Default 0.15. |
WINDOW_CORRELATION_DAYS | double | 2 | Correlation time of the density error, days. Default 2. |
WINDOW_BALLISTIC_SIGMA | double | 0.05 | Fractional 1-sigma error of the ballistic coefficient. Default 0.05. |
OSCULATING_STEP_SECONDS | double | 10 | Step of the osculating integration after the hand-off, seconds. Default 10. |
PCFLaunch
Launch initialization: priors for the first element sets of new objects and for a deployment batch fitted jointly.
| Field | Type | Default | Meaning |
|---|---|---|---|
DRAG_AREA_OVER_MASS_PRIOR_M2_KG | double | 0.01 | A priori B_eff (Cd*A/m) of a new object, m2/kg. Default 0.01. |
SRP_AREA_OVER_MASS_PRIOR_M2_KG | double | 0.01 | A priori AGOM (Cr*A/m) of a new object, m2/kg. Default 0.01. |
SEPARATION_SIGMA_M_S | double | 1 | Prior 1-sigma of each object's separation velocity per axis, m/s. Default 1. |
SHRINK_SIGMA_M2_KG | double | 0 | Shrinkage 1-sigma of each object's B_eff about the batch mean, m2/kg. Absent, it is DRAG_AREA_OVER_MASS_PRIOR_M2_KG. |
HAS_SHRINK_SIGMA_M2_KG | bool | false | True when SHRINK_SIGMA_M2_KG carries a value; false means absent. |
BATCH_MEAN_SIGMA_M2_KG | double | 1 | Prior 1-sigma of the batch-mean B_eff, m2/kg. Default 1. |
PCFOutput
Output states: frame, step and size.
| Field | Type | Default | Meaning |
|---|---|---|---|
FRAME | pcfOutputFrame | UNSPECIFIED | Frame of the output states. Default UNSPECIFIED (the grid template's frame, TEME without one). |
STEP_SECONDS | double | 60 | Spacing of the output states, seconds, when no grid template names the epochs; a grid template's epochs win. Default 60. |
MAXIMUM_STATES | uint | 500000 | Most states one request may produce. Default 500000. |
PCFSpaceWeather
Instantaneous space weather, held for an arc when WEATHER_SOURCE selects it. The TIM epoch is UTC; flux is in SFU (1e-22 W/m2/Hz).
| Field | Type | Default | Meaning |
|---|---|---|---|
EPOCH | TIMInstant | — | Epoch the values apply to. Required; no default. |
F107 | double | 150 | Daily F10.7 solar radio flux, SFU. Default 150. |
F107_AVERAGE | double | 150 | Centered 81-day average of F10.7, SFU. Default 150. |
AP_INDEX | double | 15 | Conventional daily Ap index value, dimensionless (not an acceleration). Default 15. |
KP_INDEX | double | 3 | Conventional three-hour Kp index value, dimensionless (not an acceleration). Default 3. |
PCFEcom2
ECOM2 empirical solar radiation pressure (Arnold et al. 2015, J. Geod. 89, doi:10.1007/s00190-015-0814-4, eq. 5), in the D-Y-B frame, added to the a priori model and scaled by the visible Sun fraction. Every coefficient is in m/s^2 and defaults to 0.
| Field | Type | Default | Meaning |
|---|---|---|---|
D0_M_S2 | double | 0 | |
Y0_M_S2 | double | 0 | |
B0_M_S2 | double | 0 | |
D2_COS_M_S2 | double | 0 | |
D2_SIN_M_S2 | double | 0 | |
D4_COS_M_S2 | double | 0 | |
D4_SIN_M_S2 | double | 0 | |
B1_COS_M_S2 | double | 0 | |
B1_SIN_M_S2 | double | 0 | |
B3_COS_M_S2 | double | 0 | |
B3_SIN_M_S2 | double | 0 |
PCFIntegratorSettings
Integrator and its settings, shared by $PCF and $PRW. Units are SI. A scalar legacy tolerance must be expanded by the adapter.
| Field | Type | Default | Meaning |
|---|---|---|---|
ALGORITHM | pcfIntegratorAlgorithm | UNSPECIFIED | Algorithm. Default UNSPECIFIED (the provider's own). |
INITIAL_STEP_SECONDS | double | 60 | First step, seconds; the fixed step of RK4. Default 60. |
MINIMUM_STEP_SECONDS | double | 1 | Smallest step an adaptive algorithm may take, seconds. Default 1. |
MAXIMUM_STEP_SECONDS | double | 3600 | Largest step, seconds. Default 3600. |
ABSOLUTE_TOLERANCES | list of double | — | Six or seven positive tolerances, respectively m, m/s and optional kg. Required; no default. |
RELATIVE_TOLERANCE | double | 1e-12 | Relative tolerance, dimensionless. Default 1e-12. |
MAXIMUM_STEPS | uint | 100000 | Most steps one propagation may take. Default 100000. |
PCFForceModel
The forces a propagator applies, shared by $PCF and $PRW. Flags default to off unless stated: a force is active only when selected. No implied support for coefficients, drag models or bodies the provider cannot supply; a provider refuses what it cannot apply, by name.
| Field | Type | Default | Meaning |
|---|---|---|---|
GRAVITY_CHOICE | pcfGravitySelection | INFER_FLAGS | Gravity field. Default INFER_FLAGS (the ENABLE_ flags decide). |
ENABLE_POINT_MASS | bool | true | Central-body point-mass term. Default true. |
GRAVITATIONAL_PARAMETER | double | 0 | Gravitational parameter of the central body, m3/s2; required positive when a central gravity term is enabled. Default 0. |
ENABLE_J2 | bool | true | J2 zonal term. Default true. |
ENABLE_J3 | bool | false | J3 zonal term. Default false. |
ENABLE_J4 | bool | false | J4 zonal term. Default false. |
ENABLE_HIGHER_ZONALS | bool | false | Zonal terms above J4. Default false. |
MAXIMUM_DEGREE | ushort | 0 | Highest field degree; dimensionless. Absent selects the explicitly reported model default. |
HAS_MAXIMUM_DEGREE | bool | false | True when MAXIMUM_DEGREE carries a value; false (the default) means absent. |
MAXIMUM_ORDER | ushort | 0 | Highest field order; dimensionless. Absent selects the explicitly reported model default. |
HAS_MAXIMUM_ORDER | bool | false | True when MAXIMUM_ORDER carries a value; false (the default) means absent. |
ENABLE_THIRD_BODY | bool | false | Third-body gravity of THIRD_BODY_IDS. Default false. |
THIRD_BODY_IDS | list of int | — | NAIF IDs; explicit vector, e.g. [10,301]. Empty (the default) means no third bodies. |
ENABLE_SRP | bool | false | Solar radiation pressure. Default false. |
ENABLE_DRAG | bool | false | Atmospheric drag. Default false. |
INITIAL_MASS_KG | double | 1000 | Spacecraft mass, kg. Default 1000. |
AREA_M2 | double | 10 | Cross-section area, m2. Default 10. |
REFLECTIVITY_COEFFICIENT | double | 1.5 | Radiation-pressure coefficient Cr, dimensionless. Default 1.5. |
DRAG_COEFFICIENT | double | 2.2 | Drag coefficient Cd, dimensionless. Default 2.2. |
ATMOSPHERE_MODEL | pcfAtmosphereFamily | NRLMSISE00 | Atmosphere model. Default NRLMSISE00. |
WEATHER | PCFSpaceWeather | — | Space weather held for the arc when WEATHER_SOURCE selects it. Default absent. |
EPHEMERIS_SOURCE | string | — | Actual configured source name, e.g. an analytic series or a planetary SPK kernel. Required; no default. |
SOLID_TIDES | pcfSolidTideModel | NONE | Solid Earth tides. Their field is Earth-fixed, so a provider needs Earth orientation (the request's Earth orientation rows) to apply them. Default NONE. |
RELATIVITY | pcfRelativityTerms | NONE | Post-Newtonian terms. Default NONE. |
IN_TRACK_ACCELERATION_M_S2 | double | 0 | Constant acceleration along the in-track axis, m/s2: T of RTN, N cross rhat with N = unit(r cross v) (the "in-track thrust" of a VCM). Default absent. |
HAS_IN_TRACK_ACCELERATION_M_S2 | bool | false | True when IN_TRACK_ACCELERATION_M_S2 carries a value; false (the default) means absent. |
DRAG_AREA_OVER_MASS_RATE_M2_KG_S | double | 0 | Rate of change of the drag ballistic coefficient Cd*A/m, m2/kg/s (the BDOT of a VCM). Drag uses Cd*A/m + rate * (t - initial epoch). Default absent. |
HAS_DRAG_AREA_OVER_MASS_RATE_M2_KG_S | bool | false | True when DRAG_AREA_OVER_MASS_RATE_M2_KG_S carries a value; false (the default) means absent. |
MAXIMUM_TESSERAL_DEGREE | ushort | 0 | Highest degree of the tesseral and sectorial terms (order >= 1); the zonals run to MAXIMUM_DEGREE. A VCM's "mmZ,nnT" is MAXIMUM_DEGREE mm, MAXIMUM_ORDER nn and MAXIMUM_TESSERAL_DEGREE nn. Default absent. |
HAS_MAXIMUM_TESSERAL_DEGREE | bool | false | True when MAXIMUM_TESSERAL_DEGREE carries a value; false (the default) means absent. |
RADIATION_PRESSURE_MODEL | pcfRadiationPressureFamily | CANNONBALL | Solar radiation pressure model family. Default CANNONBALL. |
GNSS_BLOCK | pcfGnssSpacecraftBlock | UNSPECIFIED | Spacecraft block; required when RADIATION_PRESSURE_MODEL is GNSS_BOX_WING. Default UNSPECIFIED. |
ECOM2 | PCFEcom2 | — | ECOM2 coefficients; absent (the default) means no ECOM2 term. |
EARTH_RADIATION | pcfEarthRadiationModel | NONE | Earth radiation pressure (albedo and infrared). It reads the Sun's position from the ephemeris source. Default NONE. |
EARTH_RADIATION_RESOLUTION_DEG | double | 15 | Angular size of the Earth surface elements it sums, degrees. Default 15. |
EARTH_RADIATION_AREA_OVER_MASS_M2_KG | double | 0 | Isotropic Cr*A/m, m2/kg, the Earth's radiation acts on. Absent, it is the cannonball's REFLECTIVITY_COEFFICIENT * AREA_M2 / INITIAL_MASS_KG, and fitting SRP_AREA_OVER_MASS scales both. |
HAS_EARTH_RADIATION_AREA_OVER_MASS_M2_KG | bool | false | True when EARTH_RADIATION_AREA_OVER_MASS_M2_KG carries a value; false (the default) means absent. |
OCEAN_TIDES | pcfOceanTideModel | NONE | Ocean tides. Their field is Earth-fixed, so a provider needs Earth orientation (the request's Earth orientation rows) to apply them. Default NONE. |
OCEAN_TIDE_MAXIMUM_DEGREE | ushort | 30 | Truncation of the ocean tide field, degree. Default 30. |
OCEAN_TIDE_MAXIMUM_ORDER | ushort | 30 | Truncation of the ocean tide field, order. Default 30. |
CENTRAL_BODY_NAIF_ID | int | 399 | Central body, a NAIF ID. The gravity field, atmosphere, tides and third bodies are those of this body. Default 399 (Earth). |
EPHEMERIS_KIND | pcfEphemerisKind | UNSPECIFIED | Where the Sun, Moon and planets are read from. Default UNSPECIFIED (the source named in EPHEMERIS_SOURCE). |
SHADOW_MODEL | evlShadowModel | UNSPECIFIED | Shadow model of the radiation-pressure and Earth-radiation terms. Default UNSPECIFIED (the provider's: conical). |
WEATHER_SOURCE | pcfWeatherSource | UNSPECIFIED | Where the space weather comes from. Default UNSPECIFIED (inferred). |
WEATHER_EXTENSION | pcfWeatherExtension | UNSPECIFIED | What happens past the last space weather row. Default UNSPECIFIED (the provider's rule). |
DENSITY_CORRECTION | pcfDensityCorrection | NONE | Correction applied to the atmosphere model's density. Default NONE. |
DENSITY_CORRECTION_RELAXATION_HOURS | double | 0 | Past the last density-correction node the log-density scale relaxes to its trailing mean with this time constant, hours; 0 holds the last node. Absent, the provider's rule (the numerical propagator holds; the advanced mean-element propagator relaxes with 48 h). |
HAS_DENSITY_CORRECTION_RELAXATION_HOURS | bool | false | True when DENSITY_CORRECTION_RELAXATION_HOURS carries a value; false (the default) means absent. |
NEUTRAL_WIND | pcfNeutralWind | NONE | Neutral wind in the drag relative velocity. Default NONE. |
EMPIRICAL_TERMS | PCFEmpiricalTerms | — | Empirical along-track terms of the averaged theories. Absent (the default): the theory's own. |
THIRD_BODY_MAXIMUM_DEGREE | ushort | 0 | Highest degree of the harmonic field of the third body that has one (the Moon's on an Earth orbiter, the Earth's on a lunar orbiter); dimensionless. The field's acceleration at the frame origin is subtracted. Default 0: third bodies are point masses only. |
THIRD_BODY_MAXIMUM_ORDER | ushort | 0 | Highest order of that field; dimensionless. Default 0. |
Reference
Enumerations
pcfTheorypcfWeatherExtensionpcfWeatherSourcepcfDensityCorrectionpcfNeutralWindpcfEphemerisKindpcfEventKindpcfEventDirectionpcfEventActionpcfExpressionOperationpcfInnovationCorrelationpcfReentryWindowMethodpcfOutputFramepcfIntegratorAlgorithmpcfGravitySelectionpcfAtmosphereFamilypcfSolidTideModelpcfRelativityTermspcfRadiationPressureFamilypcfEarthRadiationModelpcfOceanTideModelpcfGnssSpacecraftBlock
pcfTheory enum, ubyte
The orbit theory that computes the states. Append new values only; never reorder or reuse a value.
| Value | Number | Meaning |
|---|---|---|
UNSPECIFIED | 0 | The receiving module's own theory. A module that offers several reads UNSPECIFIED as the one it ingests element sets with (the advanced propagator reads it as SGP4XP). |
SGP4 | 1 | Mean-element theory of SPACETRACK REPORT No. 3 (SGP4 near Earth, SDP4 deep space). |
SGP4XP | 2 | SGP4 with extended perturbations (SGP4-XP, as published in the 2022 astrodynamics conference literature); the same value as $MET SGP4XP. |
SDNAP | 3 | SDN's own advanced mean-element theory, labeled as its own; carried in $OMM as a user-defined theory until $MET appends it. |
FFM | 4 | Numerical integration of the equations of motion under the full force model of PCFForceModel (profile FFM-1). |
KEPLER | 5 | Two-body (Keplerian) motion about the central body. |
pcfWeatherExtension enum, ubyte
How a propagator learns the space weather beyond the daily rows it was given. Append new values only.
| Value | Number | Meaning |
|---|---|---|
UNSPECIFIED | 0 | The provider's own rule (the numerical propagator refuses, the advanced mean-element propagator chains forecasts). |
REFUSE | 1 | Refuse an arc that reaches past the rows (space-weather-out-of-range). |
HOLD_LAST | 2 | Hold the last row's values. |
FORECAST_CHAIN | 3 | Observed rows, then the three-day forecast, then the 45-day forecast, then the solar-cycle climatology; each hand-off is blended over one day and every evaluation names its tier. |
pcfWeatherSource enum, ubyte
Where the space weather of a propagation comes from. Append new values only.
| Value | Number | Meaning |
|---|---|---|
UNSPECIFIED | 0 | Infer: PCFSpaceWeather when the force model carries it, else the daily rows supplied with the request. |
CONSTANT | 1 | PCFSpaceWeather, held for the whole arc. |
RECORDS | 2 | Daily rows supplied with the request ($SPW rows; the JB2008 indices for the JB2008 atmosphere). |
pcfDensityCorrection enum, ubyte
Correction applied to the atmosphere model's density. Append new values only.
| Value | Number | Meaning |
|---|---|---|
NONE | 0 | Density as the atmosphere model gives it. |
DCA_COMMON_MODE | 1 | The open-DCA common-mode correction published as $DCL: model density times exp(s(t)), s the log-density scale of the published nodes. |
pcfNeutralWind enum, ubyte
Neutral wind in the drag relative velocity. Append new values only.
| Value | Number | Meaning |
|---|---|---|
NONE | 0 | Atmosphere co-rotating with the central body, no wind. |
HWM14 | 1 | The HWM14 empirical horizontal wind model (Drob et al. 2015, Earth and Space Science 2, 301-319). |
pcfEphemerisKind enum, ubyte
Where the Sun, Moon and planets are read from. Append new values only.
| Value | Number | Meaning |
|---|---|---|
UNSPECIFIED | 0 | The provider's own source, named in EPHEMERIS_SOURCE. |
ANALYTIC_SERIES | 1 | A closed-form analytic series (low precision, no kernel to load). |
PLANETARY_KERNEL | 2 | A planetary ephemeris kernel (SPK), named in EPHEMERIS_SOURCE. |
pcfEventKind enum, ubyte
The event function of a located event. Each is a continuous function g of the integrated state, evaluated by the integrator; an event is a zero crossing of g. The crossing is bracketed on each accepted step, refined to TOLERANCE_SECONDS on the integrator's continuous extension, and confirmed by re-stepping the integrator itself, so the epoch does not depend on the step size. Append new values only.
| Value | Number | Meaning |
|---|---|---|
UNSPECIFIED | 0 | |
APSIS | 1 | g = r . v, the radial rate. INCREASING crossings are periapsis, DECREASING apoapsis. |
PLANE_CROSSING | 2 | g = n . r for the plane through the central body's center with normal PLANE_NORMAL (absent: the pole of the request's axes, which makes the crossings the nodes). INCREASING crossings are ascending, DECREASING descending. |
TRUE_ANOMALY | 3 | g = the true anomaly minus ANGLE_RAD, wrapped to (-pi, pi]. INCREASING. |
ARGUMENT_OF_LATITUDE | 4 | g = the argument of latitude minus ANGLE_RAD, wrapped to (-pi, pi]. INCREASING. |
LATITUDE_EXTREMUM | 5 | g = r^2 d(z)/dt - z (r . v) with z the component along the pole of the request's axes: the zero of the rate of the geocentric latitude. DECREASING crossings are maxima, INCREASING minima. |
UMBRA | 6 | g = the angular separation of the Sun and the central body's centers minus the difference of their apparent radii, positive in light (the umbra of the conical model). DECREASING is entry, INCREASING exit. |
PENUMBRA | 7 | g = the same separation minus the sum of the apparent radii (the penumbra boundary). |
CLOSEST_APPROACH | 8 | g = (r - r2) . (v - v2), r2 and v2 the position and velocity of the trajectory on the input port named by SECOND_TRAJECTORY_PORT. INCREASING crossings are minima of the range. The $OEM must cover the propagated arc; the provider interpolates it by Hermite polynomials. |
EXPRESSION | 9 | g = the value of EXPRESSION. |
pcfEventDirection enum, ubyte
Which zero crossings of the event function count. Append new values only.
| Value | Number | Meaning |
|---|---|---|
ANY | 0 | |
INCREASING | 1 | g goes from negative to positive. |
DECREASING | 2 | g goes from positive to negative. |
pcfEventAction enum, ubyte
What the integrator does at a located event. Append new values only.
| Value | Number | Meaning |
|---|---|---|
CONTINUE | 0 | The event is located and counted; it is not reported. |
RECORD | 1 | The event is located, counted and reported; propagation continues. |
STOP | 2 | The event is reported and the propagation ends there: the final sample is the state at the OCCURRENCE-th qualifying crossing. |
pcfExpressionOperation enum, ubyte
Operations of a bounded expression. The expression is data, evaluated by the provider; no code runs. Append new values only.
| Value | Number | Meaning |
|---|---|---|
UNSPECIFIED | 0 | |
CONSTANT | 1 | Push VALUE. |
PARAMETER | 2 | Push the value of PARAMETER at the integrated state, in the units of the $PCE catalog. |
ADD | 3 | Pop two, push their sum, difference (second minus first popped), product or quotient. |
SUBTRACT | 4 | |
MULTIPLY | 5 | |
DIVIDE | 6 | |
NEGATE | 7 | Pop one, push the result. |
ABSOLUTE | 8 | |
SQUARE_ROOT | 9 | |
SINE | 10 | |
COSINE | 11 | |
MINIMUM | 12 | Pop two, push the lesser or the greater. |
MAXIMUM | 13 |
pcfInnovationCorrelation enum, ubyte
How the correlation of maneuver-detection innovations is weighted. Append new values only.
| Value | Number | Meaning |
|---|---|---|
UNSPECIFIED | 0 | |
WHITE | 1 | Every sample independent (the white-noise assumption). |
ONE_SAMPLE_PER_REVOLUTION | 2 | One sample per revolution counts, so a revolution is one independent innovation. |
CORRELATION_TIME | 3 | An exponential correlation of the innovations over a correlation time. |
pcfReentryWindowMethod enum, ubyte
How the reentry-time window is computed. Append new values only.
| Value | Number | Meaning |
|---|---|---|
UNSPECIFIED | 0 | |
LINEAR | 1 | First-order propagation of the ballistic and density sigmas through the remaining life. |
UNSCENTED | 2 | The unscented transform over the hand-off state, the ballistic coefficient and the density level. |
pcfOutputFrame enum, ubyte
Frame of the output states. Append new values only.
| Value | Number | Meaning |
|---|---|---|
UNSPECIFIED | 0 | The grid template's frame; TEME without one. |
TEME | 1 | True equator, mean equinox of date. |
GCRF | 2 | Geocentric Celestial Reference Frame. |
EME2000 | 3 | Mean equator and equinox of J2000.0. |
ITRF | 4 | International Terrestrial Reference Frame (Earth-fixed). |
pcfIntegratorAlgorithm enum, ubyte
Integration algorithm, shared by $PCF and $PRW (one definition). Values 1 to 10 are the numbers $PRW has always carried; new values are appended only, never reordered or reused. A scheme value names the stepping method; a formulation value (COWELL, ENCKE, EQUINOCTIAL_VOP, GAUSS_VOP, DROMO, STIEFEL) names the variables the equations are written in, and the scheme that steps them is the provider's, reported in its result.
| Value | Number | Meaning |
|---|---|---|
UNSPECIFIED | 0 | The provider's own algorithm. |
RK4 | 1 | Classical fourth-order Runge-Kutta, fixed step INITIAL_STEP_SECONDS. |
RKF45 | 2 | Runge-Kutta-Fehlberg 4(5) (Fehlberg 1969, NASA TR R-315), adaptive. |
RKF78 | 3 | Runge-Kutta-Fehlberg 7(8) (Fehlberg 1968, NASA TR R-287), adaptive. |
RK78 | 4 | The same Fehlberg 7(8) pair under the name the full force model's catalog profile uses, adaptive. |
RKDP87 | 5 | Prince-Dormand 8(7), thirteen stages, "RK8(7)13M" (Prince and Dormand 1981, J. Comput. Appl. Math. 7), adaptive. |
ABM | 6 | Adams-Bashforth-Moulton predictor-corrector multistep. |
BS | 7 | Gragg-Bulirsch-Stoer extrapolation. |
COWELL | 8 | Cowell's method: Cartesian position and velocity. |
ENCKE | 9 | Encke's method: the deviation from a reference conic. |
EQUINOCTIAL_VOP | 10 | Variation of parameters in equinoctial elements. |
DOPRI5 | 11 | Dormand-Prince 5(4), seven stages (Dormand and Prince 1980, J. Comput. Appl. Math. 6). |
RK65 | 12 | Prince-Dormand 6(5), eight stages, minimized error coefficients, "RK6(5)8M" (Prince and Dormand 1981, J. Comput. Appl. Math. 7). |
RKV98 | 13 | Verner's 9(8) pair, sixteen stages (Verner 2010, Numer. Algorithms 53). |
RKN1210 | 14 | Runge-Kutta-Nystrom 12(10), seventeen stages, for y'' = f(t, y) alone (Dormand, El-Mikkawy and Prince 1987, IMA J. Numer. Anal. 7). The acceleration must not depend on velocity, so a provider refuses it with drag. |
GAUSS_JACKSON_8 | 15 | Gauss-Jackson eighth-order summed multistep, predict-evaluate-correct, started by a Runge-Kutta run (Berry and Healy 2004, J. Astronaut. Sci. 52). |
GAUSS_VOP | 16 | Gauss's variational equations in classical Keplerian elements. Integrates a reduced force model; FFM refuses it by name. |
DROMO | 17 | DROMO, the regularized special-perturbation formulation (Pelaez, Hedo and Rodriguez de Andres 2007, Celest. Mech. Dyn. Astron. 97). FFM refuses it by name: its propagation does not reach the requested epoch to the integration tolerance. |
STIEFEL | 18 | Stiefel-Scheifele regularized formulation in the fictitious time (Stiefel and Scheifele 1971, Linear and Regular Celestial Mechanics). FFM refuses it by name, as DROMO. |
DOPRI853 | 19 | Dormand-Prince 8(5,3), twelve stages (Hairer, Norsett and Wanner 1993, Solving Ordinary Differential Equations I). |
pcfGravitySelection enum, ubyte
| Value | Number | Meaning |
|---|---|---|
EGM96 | 6 | NGA EGM96 (Lemoine et al. 1998, NASA/TP-1998-206861), tide-free. |
GRGM660PRIM | 7 | GRGM660PRIM (Lemoine et al. 2013, J. Geophys. Res. Planets 118), the Moon's field, in the Moon's principal-axis frame. |
MRO120F | 8 | MRO120F (Konopliv et al. 2020, Geophys. Res. Lett. 47, doi:10.1029/2020GL090568), the Mars field, in the Mars-fixed frame of its PDS label. |
pcfAtmosphereFamily enum, ubyte
| Value | Number | Meaning |
|---|---|---|
JACCHIA_ROBERTS | 5 | Jacchia-Roberts (Roberts, Celestial Mechanics 4, 1971): the closed-form evaluation of Jacchia's static diffusion model with the constants NASA GTDS and GMAT use (inflection temperature, mean molecular mass and 100 km composition of Jacchia 1971, SAO SR 332; ATM's JR71). The drivers: F10.7 of the previous day, that day's 81-day centred average, and the three-hour Kp 6.7 h earlier (PRW.SPACE_WEATHER, or WEATHER's values held constant). A VCM's JACCHIA_70 is carried here. |
JB2008 | 6 | Jacchia-Bowman 2008 (Bowman et al., AIAA 2008-6438): solar indices and Dst-derived temperature change from the request's JB2008 indices. |
MARS_EXPONENTIAL | 7 | Banded exponential atmosphere of Mars: the density falls as exp(-(h - h0) / H) through altitude bands (Vallado, Fundamentals of Astrodynamics and Applications, 4th ed., section 8.6), and it co-rotates with Mars. |
pcfSolidTideModel enum, ubyte
Solid Earth tide model for the central body's field. NONE leaves the tides out. IERS_2010 is IERS Conventions (2010) section 6.2: the degree 2 and 3 tides raised by the Sun and Moon with Table 6.3's anelastic Love numbers and the degree 4 terms through k+ (step 1, eqs. 6.6-6.7), the frequency-dependent corrections of Tables 6.5a-c (step 2, eq. 6.8), and the permanent tide handled for the field's own tide system. Pole tide is not included.
| Value | Number | Meaning |
|---|
pcfRelativityTerms enum, ubyte
Post-Newtonian corrections to the central body's acceleration (IERS Conventions (2010) eq. 10.12). NONE leaves them out. SCHWARZSCHILD is the point-mass term only. IERS_2010 adds Lense-Thirring and de Sitter (geodesic) precession.
| Value | Number | Meaning |
|---|
pcfRadiationPressureFamily enum, ubyte
Solar radiation pressure model family. CANNONBALL uses the radiation-pressure coefficient and area-to-mass ratio of the force configuration; GNSS_BOX_WING is the a priori box-wing model of the spacecraft block in GNSS_BLOCK (Rodriguez-Solano, Hugentobler and Steigenberger 2012, Adv. Space Res. 49, doi:10.1016/j.asr.2012.01.016) under nominal yaw steering, with the mass INITIAL_MASS_KG.
| Value | Number | Meaning |
|---|---|---|
CANNONBALL | 0 | |
GNSS_BOX_WING | 1 | |
NONE | 2 |
pcfEarthRadiationModel enum, ubyte
Earth radiation pressure: the sunlight the Earth reflects (albedo) and the infrared it emits, pushing on an isotropic (cannonball) spacecraft. KNOCKE is Knocke, Ries and Tapley (1988, AIAA paper 88-4292): albedo and emissivity zonal to the second Legendre degree with the annual term of the first, from the elements of the Earth's surface the spacecraft sees (as Orekit's KnockeRediffusedForceModel evaluates it).
| Value | Number | Meaning |
|---|---|---|
NONE | 0 | |
KNOCKE | 1 |
pcfOceanTideModel enum, ubyte
Ocean tide model for the central body's field. FES2004 is IERS Conventions (2010) section 6.3: the variations of the normalized Stokes coefficients of the FES2004 waves (the IERS file fes2004_Cnm-Snm.dat, eq. 6.15) at their Doodson arguments, in the field's Earth-fixed axes. The ocean pole tide is not included.
| Value | Number | Meaning |
|---|---|---|
NONE | 0 | |
FES2004 | 1 |
pcfGnssSpacecraftBlock enum, ubyte
GNSS spacecraft block, selecting the box-wing surfaces.
| Value | Number | Meaning |
|---|---|---|
UNSPECIFIED | 0 | |
GPS_IIR | 1 | |
GPS_IIR_M | 2 | |
GPS_IIF | 3 |
Types without a link are defined in other Space Data Standards schemas that $PCF includes (FRM, TIM, PCE, EVL).