SDN-AP

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.

MethodTables readTHEORY
propagate, maneuverMEAN_ELEMENT, SEGMENTS, OUTPUT, FORCESUNSPECIFIED is each set's own; another value must match it
fitFIT, MEAN_ELEMENT, SEGMENTS, FORCESUNSPECIFIED or SGP4XP fits SGP4-XP; SDNAP fits SDN-AP
detect_maneuversMEAN_ELEMENT, MANEUVER_DETECTIONSDNAP (UNSPECIFIED reads as it)
reentryREENTRY, MEAN_ELEMENT, FORCESUNSPECIFIED is each set's own; another value must match it
launch_set, launch_batchLAUNCH, MEAN_ELEMENTSDNAP (UNSPECIFIED reads as it)
TableWhat SDN-AP applies
THEORYFFM and KEPLER are refused: they belong to other propagators.
MEAN_ELEMENTApplies to SDN-AP sets. SGP4 and SGP4-XP keep their own truncations; another value for them is refused.
FORCESOnly 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.
INTEGRATORRefused: the averaged theories integrate on their own grid.
EVENTSRefused when not empty.
FITEvery field.
REENTRYWINDOW_METHOD LINEAR.
OUTPUTTEME, GCRF or EME2000, at most 500,000 states.
MANEUVER_DETECTIONFALSE_ALARMS_PER_OBJECT_YEAR 1; CORRELATION_MODEL WHITE or ONE_SAMPLE_PER_REVOLUTION.
SEGMENTSThe cislunar and heliocentric steps and the 6 h cislunar segment at their defaults.
LAUNCHEvery field, within its documented range.

Reference

Tables

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.

FieldTypeDefaultMeaning
CONFIGURATION_IDstring—Opaque identifier of this configuration, for provenance. Default empty.
PROFILEstring—Named profile this configuration instantiates, for example "FFM-1". Informational: every value that matters is carried below. Default empty.
THEORYpcfTheoryUNSPECIFIEDThe orbit theory. Default UNSPECIFIED (the receiving module's own).
INTEGRATORPCFIntegratorSettings—Integrator and settings. Absent: the theory's own.
FORCESPCFForceModel—Forces. Absent: the theory's built-in set.
MEAN_ELEMENTPCFMeanElementOptions—Truncations and switches of the averaged theories (SGP4XP, SDNAP).
SEGMENTSPCFSegmentOptions—Beyond-Earth segment sets.
FITPCFFitPolicy—Fit policy.
EVENTSlist of PCFEventDefinition—Events located while integrating. Default empty.
MANEUVER_DETECTIONPCFManeuverDetection—Maneuver detection.
REENTRYPCFReentry—Reentry hand-off and window.
LAUNCHPCFLaunch—Launch initialization priors.
OUTPUTPCFOutput—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.

FieldTypeDefaultMeaning
MEANdouble0Prior mean, in the unit of the parameter it is attached to. Default 0.
SIGMAdouble0Prior standard deviation, in the same unit; > 0 when HAS_SIGMA.
HAS_SIGMAboolfalseTrue 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.

FieldTypeDefaultMeaning
ONCE_PER_REVOLUTIONbooltrueFit the once-per-revolution pair (TAUC, TAUS). Default true.
TAU0_RULE_LIMIT_M2_KGdouble0.5The 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_KGboolfalseTrue turns the TAU0 rule on with TAU0_RULE_LIMIT_M2_KG; false (the default) leaves TAU0 off.
HELD_ABOVE_DRAG_REGIMEboolfalseTrue holds TAUC and TAUS after the arc end above the drag regime instead of decaying them. Default false.
PERSISTENCE_HOURSdouble24Persistence 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.

FieldTypeDefaultMeaning
M_DAILY_MAXIMUM_DEGREEubyte12Highest even degree of the m-daily short-periodic gravity terms; 0 omits them. Range 0 to 16. Default 12.
ZONAL_MAXIMUM_DEGREEubyte20Highest degree of the zonal tail (secular and long-period terms past J5). Range 6 to 70. Default 20.
SHORT_PERIODIC_MAXIMUM_DEGREEubyte7Highest degree of the eccentricity-vector short-periodic terms. Range 2 to 16. Default 7.
ENABLE_RESONANCEbooltrueResonance terms on or off. Default true.
RESONANCE_MAXIMUM_DEGREEubyte31Highest odd degree of the shallow-resonance terms. Default 31.
RESONANCE_BANDdouble0.045Resonance band: terms whose angle drifts slower than this fraction of the mean motion are integrated with the rates. Default 0.045.
RESONANCE_MAXIMUM_Kubyte1Highest multiple of the mean anomaly in a resonance angle. Default 1.
NEAR_RESONANCE_BANDdouble0Near-resonance band at output time, as a fraction of the mean motion beyond RESONANCE_BAND; 0 is off. Default 0.
GRID_STEP_DIVISORubyte1Divisor of the integration grid step; >= 1. Default 1.
DENSITY_KERNELbooltrueThe 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_KMdouble2500Perigee 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.

FieldTypeDefaultMeaning
MOON_GRAVITY_MAXIMUM_DEGREEushort70Moon-centered gravity field degree. Default 70.
MOON_SHORT_PERIODIC_MAXIMUM_DEGREEubyte8Moon-centered short-periodic degree. Default 8.
MOON_ECCENTRICITY_ORDERubyte2Moon-centered eccentricity order (highest |q| of the mean-anomaly multiple kept). Default 2.
MOON_STEP_SECONDSdouble240Moon-centered integration step, seconds. Default 240.
CISLUNAR_STEP_SECONDSdouble60Cislunar integration step, seconds. Default 60.
HELIOCENTRIC_STEP_SECONDSdouble1800Heliocentric integration step, seconds. Default 1800.
SEGMENT_RMS_FACTORdouble2A 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_KMdouble0.05The additive term of the same rule, km. Default 0.05.
CISLUNAR_MINIMUM_SEGMENT_HOURSdouble6Shortest cislunar segment, hours. Default 6.

PCFFitPolicy

Fit policy: how long an arc a fit uses, how that is validated, and what a fit refuses.

FieldTypeDefaultMeaning
DEFAULT_SPAN_HOURSdouble48Fit span used when the span rule is not run, hours. Default 48.
MINIMUM_SPAN_HOURSdouble24Shortest span a fit may take, hours. Default 24.
MAXIMUM_SPAN_HOURSdouble120Longest span a fit may take, hours. Default 120.
CANDIDATE_SPANS_HOURSlist 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_HOURSdouble24Validation tail: each candidate is fitted to the data before the latest TAIL_HOURS and scored on that tail, hours. Default 24.
EXTENSION_MARGINdouble0.9Extension 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_HOURSdouble0Hours 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_HOURSboolfalseTrue when HOLDOUT_HOURS carries a value; false means absent.
ECCENTRICITY_THRESHOLDdouble0.5Eccentricity above which the eccentric-orbit rule applies. Default 0.5.
ECCENTRIC_DEFAULT_SPAN_HOURSdouble24Eccentric orbits: the default span, hours. Default 24.
ECCENTRIC_EXTENSION_MARGINdouble0.7Eccentric orbits: EXTENSION_MARGIN. Default 0.7.
ECCENTRIC_MAXIMUM_PERIOD_HOURSdouble36Eccentric orbits: no candidate longer than this is tried once the orbital period passes it, hours. Default 36.
IMPLAUSIBLE_RMS_KMdouble100A fit whose RMS passes this is refused as fit-implausible, km. Default 100.
DRAG_PRIORPCFGaussianPrior—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_PRIORPCFGaussianPrior—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.

FieldTypeDefaultMeaning
OPERATIONpcfExpressionOperationUNSPECIFIEDWhat the term does. Default UNSPECIFIED (refused).
VALUEdouble0The constant pushed by CONSTANT. Default 0.
PARAMETERpceParameterUNSPECIFIEDThe 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.

FieldTypeDefaultMeaning
TERMSlist 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.

FieldTypeDefaultMeaning
KINDpcfEventKindUNSPECIFIEDThe event function. Default UNSPECIFIED (refused).
DIRECTIONpcfEventDirectionANYWhich zero crossings of the event function count. Default ANY.
ACTIONpcfEventActionRECORDWhat the integrator does at the event. Default RECORD.
TOLERANCE_SECONDSdouble1e-9Tolerance on the located epoch, seconds; 0 also selects 1e-9. Default 1e-9.
OCCURRENCEuint1STOP acts at this qualifying crossing (1 is the first). Default 1.
ANGLE_RADdouble0TRUE_ANOMALY and ARGUMENT_OF_LATITUDE: the angle, radians. Default 0.
PLANE_NORMALFRMVector3—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_PORTstring—CLOSEST_APPROACH: the id of the input port that carries the second trajectory as $OEM; "second_trajectory" is the port FFM declares. Default empty.
EXPRESSIONPCFExpression—EXPRESSION: the program. Default absent.

PCFManeuverDetection

Maneuver detection from fit innovations: a generalized-likelihood-ratio scan of the six mean elements.

FieldTypeDefaultMeaning
FALSE_ALARMS_PER_OBJECT_YEARdouble1False-alarm rate the THRESHOLD is calibrated for, per object-year. A provider that cannot recalibrate refuses another rate. Default 1.
CORRELATION_MODELpcfInnovationCorrelationONE_SAMPLE_PER_REVOLUTIONHow innovation correlation is weighted. Default ONE_SAMPLE_PER_REVOLUTION.
THRESHOLDdouble20The statistic Lambda (chi-square, 3 degrees of freedom) above which a maneuver is declared. Default 20.
MARGIN_STATESuint12States kept clear at each end of the arc when scanning. Default 12.
REFINE_WINDOW_HOURSdouble2Half-width of the window the burn epoch is refined in, hours. Default 2.
MINIMUM_STATESuint48Fewest 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.

FieldTypeDefaultMeaning
ALTITUDE_KMdouble80Altitude at which the trajectory ends as reentered, km. Default 80.
HANDOFF_PERIGEE_ALTITUDE_KMdouble180Hand-off when the perigee altitude falls below this, km. Default 180.
HANDOFF_DECAY_RATIOdouble0.05Hand-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_COLLAPSEdouble0.01Hand-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_ECCENTRICITYdouble0.01Eccentricity above which the collapse test applies. Default 0.01.
NODE_STEP_MINUTESdouble30Spacing of the nodes the hand-off tests are evaluated at, minutes. Default 30.
HORIZON_DAYSdouble120Longest look-ahead for a hand-off or reentry, days. Default 120.
WINDOW_METHODpcfReentryWindowMethodLINEARHow the reentry window is computed. Default LINEAR.
WINDOW_DENSITY_SIGMAdouble0.15Fractional 1-sigma density error of the window. Default 0.15.
WINDOW_CORRELATION_DAYSdouble2Correlation time of the density error, days. Default 2.
WINDOW_BALLISTIC_SIGMAdouble0.05Fractional 1-sigma error of the ballistic coefficient. Default 0.05.
OSCULATING_STEP_SECONDSdouble10Step 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.

FieldTypeDefaultMeaning
DRAG_AREA_OVER_MASS_PRIOR_M2_KGdouble0.01A priori B_eff (Cd*A/m) of a new object, m2/kg. Default 0.01.
SRP_AREA_OVER_MASS_PRIOR_M2_KGdouble0.01A priori AGOM (Cr*A/m) of a new object, m2/kg. Default 0.01.
SEPARATION_SIGMA_M_Sdouble1Prior 1-sigma of each object's separation velocity per axis, m/s. Default 1.
SHRINK_SIGMA_M2_KGdouble0Shrinkage 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_KGboolfalseTrue when SHRINK_SIGMA_M2_KG carries a value; false means absent.
BATCH_MEAN_SIGMA_M2_KGdouble1Prior 1-sigma of the batch-mean B_eff, m2/kg. Default 1.

PCFOutput

Output states: frame, step and size.

FieldTypeDefaultMeaning
FRAMEpcfOutputFrameUNSPECIFIEDFrame of the output states. Default UNSPECIFIED (the grid template's frame, TEME without one).
STEP_SECONDSdouble60Spacing of the output states, seconds, when no grid template names the epochs; a grid template's epochs win. Default 60.
MAXIMUM_STATESuint500000Most 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).

FieldTypeDefaultMeaning
EPOCHTIMInstant—Epoch the values apply to. Required; no default.
F107double150Daily F10.7 solar radio flux, SFU. Default 150.
F107_AVERAGEdouble150Centered 81-day average of F10.7, SFU. Default 150.
AP_INDEXdouble15Conventional daily Ap index value, dimensionless (not an acceleration). Default 15.
KP_INDEXdouble3Conventional 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.

FieldTypeDefaultMeaning
D0_M_S2double0
Y0_M_S2double0
B0_M_S2double0
D2_COS_M_S2double0
D2_SIN_M_S2double0
D4_COS_M_S2double0
D4_SIN_M_S2double0
B1_COS_M_S2double0
B1_SIN_M_S2double0
B3_COS_M_S2double0
B3_SIN_M_S2double0

PCFIntegratorSettings

Integrator and its settings, shared by $PCF and $PRW. Units are SI. A scalar legacy tolerance must be expanded by the adapter.

FieldTypeDefaultMeaning
ALGORITHMpcfIntegratorAlgorithmUNSPECIFIEDAlgorithm. Default UNSPECIFIED (the provider's own).
INITIAL_STEP_SECONDSdouble60First step, seconds; the fixed step of RK4. Default 60.
MINIMUM_STEP_SECONDSdouble1Smallest step an adaptive algorithm may take, seconds. Default 1.
MAXIMUM_STEP_SECONDSdouble3600Largest step, seconds. Default 3600.
ABSOLUTE_TOLERANCESlist of double—Six or seven positive tolerances, respectively m, m/s and optional kg. Required; no default.
RELATIVE_TOLERANCEdouble1e-12Relative tolerance, dimensionless. Default 1e-12.
MAXIMUM_STEPSuint100000Most 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.

FieldTypeDefaultMeaning
GRAVITY_CHOICEpcfGravitySelectionINFER_FLAGSGravity field. Default INFER_FLAGS (the ENABLE_ flags decide).
ENABLE_POINT_MASSbooltrueCentral-body point-mass term. Default true.
GRAVITATIONAL_PARAMETERdouble0Gravitational parameter of the central body, m3/s2; required positive when a central gravity term is enabled. Default 0.
ENABLE_J2booltrueJ2 zonal term. Default true.
ENABLE_J3boolfalseJ3 zonal term. Default false.
ENABLE_J4boolfalseJ4 zonal term. Default false.
ENABLE_HIGHER_ZONALSboolfalseZonal terms above J4. Default false.
MAXIMUM_DEGREEushort0Highest field degree; dimensionless. Absent selects the explicitly reported model default.
HAS_MAXIMUM_DEGREEboolfalseTrue when MAXIMUM_DEGREE carries a value; false (the default) means absent.
MAXIMUM_ORDERushort0Highest field order; dimensionless. Absent selects the explicitly reported model default.
HAS_MAXIMUM_ORDERboolfalseTrue when MAXIMUM_ORDER carries a value; false (the default) means absent.
ENABLE_THIRD_BODYboolfalseThird-body gravity of THIRD_BODY_IDS. Default false.
THIRD_BODY_IDSlist of int—NAIF IDs; explicit vector, e.g. [10,301]. Empty (the default) means no third bodies.
ENABLE_SRPboolfalseSolar radiation pressure. Default false.
ENABLE_DRAGboolfalseAtmospheric drag. Default false.
INITIAL_MASS_KGdouble1000Spacecraft mass, kg. Default 1000.
AREA_M2double10Cross-section area, m2. Default 10.
REFLECTIVITY_COEFFICIENTdouble1.5Radiation-pressure coefficient Cr, dimensionless. Default 1.5.
DRAG_COEFFICIENTdouble2.2Drag coefficient Cd, dimensionless. Default 2.2.
ATMOSPHERE_MODELpcfAtmosphereFamilyNRLMSISE00Atmosphere model. Default NRLMSISE00.
WEATHERPCFSpaceWeather—Space weather held for the arc when WEATHER_SOURCE selects it. Default absent.
EPHEMERIS_SOURCEstring—Actual configured source name, e.g. an analytic series or a planetary SPK kernel. Required; no default.
SOLID_TIDESpcfSolidTideModelNONESolid Earth tides. Their field is Earth-fixed, so a provider needs Earth orientation (the request's Earth orientation rows) to apply them. Default NONE.
RELATIVITYpcfRelativityTermsNONEPost-Newtonian terms. Default NONE.
IN_TRACK_ACCELERATION_M_S2double0Constant 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_S2boolfalseTrue when IN_TRACK_ACCELERATION_M_S2 carries a value; false (the default) means absent.
DRAG_AREA_OVER_MASS_RATE_M2_KG_Sdouble0Rate 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_SboolfalseTrue when DRAG_AREA_OVER_MASS_RATE_M2_KG_S carries a value; false (the default) means absent.
MAXIMUM_TESSERAL_DEGREEushort0Highest 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_DEGREEboolfalseTrue when MAXIMUM_TESSERAL_DEGREE carries a value; false (the default) means absent.
RADIATION_PRESSURE_MODELpcfRadiationPressureFamilyCANNONBALLSolar radiation pressure model family. Default CANNONBALL.
GNSS_BLOCKpcfGnssSpacecraftBlockUNSPECIFIEDSpacecraft block; required when RADIATION_PRESSURE_MODEL is GNSS_BOX_WING. Default UNSPECIFIED.
ECOM2PCFEcom2—ECOM2 coefficients; absent (the default) means no ECOM2 term.
EARTH_RADIATIONpcfEarthRadiationModelNONEEarth radiation pressure (albedo and infrared). It reads the Sun's position from the ephemeris source. Default NONE.
EARTH_RADIATION_RESOLUTION_DEGdouble15Angular size of the Earth surface elements it sums, degrees. Default 15.
EARTH_RADIATION_AREA_OVER_MASS_M2_KGdouble0Isotropic 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_KGboolfalseTrue when EARTH_RADIATION_AREA_OVER_MASS_M2_KG carries a value; false (the default) means absent.
OCEAN_TIDESpcfOceanTideModelNONEOcean 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_DEGREEushort30Truncation of the ocean tide field, degree. Default 30.
OCEAN_TIDE_MAXIMUM_ORDERushort30Truncation of the ocean tide field, order. Default 30.
CENTRAL_BODY_NAIF_IDint399Central body, a NAIF ID. The gravity field, atmosphere, tides and third bodies are those of this body. Default 399 (Earth).
EPHEMERIS_KINDpcfEphemerisKindUNSPECIFIEDWhere the Sun, Moon and planets are read from. Default UNSPECIFIED (the source named in EPHEMERIS_SOURCE).
SHADOW_MODELevlShadowModelUNSPECIFIEDShadow model of the radiation-pressure and Earth-radiation terms. Default UNSPECIFIED (the provider's: conical).
WEATHER_SOURCEpcfWeatherSourceUNSPECIFIEDWhere the space weather comes from. Default UNSPECIFIED (inferred).
WEATHER_EXTENSIONpcfWeatherExtensionUNSPECIFIEDWhat happens past the last space weather row. Default UNSPECIFIED (the provider's rule).
DENSITY_CORRECTIONpcfDensityCorrectionNONECorrection applied to the atmosphere model's density. Default NONE.
DENSITY_CORRECTION_RELAXATION_HOURSdouble0Past 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_HOURSboolfalseTrue when DENSITY_CORRECTION_RELAXATION_HOURS carries a value; false (the default) means absent.
NEUTRAL_WINDpcfNeutralWindNONENeutral wind in the drag relative velocity. Default NONE.
EMPIRICAL_TERMSPCFEmpiricalTerms—Empirical along-track terms of the averaged theories. Absent (the default): the theory's own.
THIRD_BODY_MAXIMUM_DEGREEushort0Highest 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_ORDERushort0Highest order of that field; dimensionless. Default 0.

Reference

Enumerations

pcfTheory enum, ubyte

The orbit theory that computes the states. Append new values only; never reorder or reuse a value.

ValueNumberMeaning
UNSPECIFIED0The 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).
SGP41Mean-element theory of SPACETRACK REPORT No. 3 (SGP4 near Earth, SDP4 deep space).
SGP4XP2SGP4 with extended perturbations (SGP4-XP, as published in the 2022 astrodynamics conference literature); the same value as $MET SGP4XP.
SDNAP3SDN's own advanced mean-element theory, labeled as its own; carried in $OMM as a user-defined theory until $MET appends it.
FFM4Numerical integration of the equations of motion under the full force model of PCFForceModel (profile FFM-1).
KEPLER5Two-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.

ValueNumberMeaning
UNSPECIFIED0The provider's own rule (the numerical propagator refuses, the advanced mean-element propagator chains forecasts).
REFUSE1Refuse an arc that reaches past the rows (space-weather-out-of-range).
HOLD_LAST2Hold the last row's values.
FORECAST_CHAIN3Observed 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.

ValueNumberMeaning
UNSPECIFIED0Infer: PCFSpaceWeather when the force model carries it, else the daily rows supplied with the request.
CONSTANT1PCFSpaceWeather, held for the whole arc.
RECORDS2Daily 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.

ValueNumberMeaning
NONE0Density as the atmosphere model gives it.
DCA_COMMON_MODE1The 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.

ValueNumberMeaning
NONE0Atmosphere co-rotating with the central body, no wind.
HWM141The 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.

ValueNumberMeaning
UNSPECIFIED0The provider's own source, named in EPHEMERIS_SOURCE.
ANALYTIC_SERIES1A closed-form analytic series (low precision, no kernel to load).
PLANETARY_KERNEL2A 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.

ValueNumberMeaning
UNSPECIFIED0
APSIS1g = r . v, the radial rate. INCREASING crossings are periapsis, DECREASING apoapsis.
PLANE_CROSSING2g = 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_ANOMALY3g = the true anomaly minus ANGLE_RAD, wrapped to (-pi, pi]. INCREASING.
ARGUMENT_OF_LATITUDE4g = the argument of latitude minus ANGLE_RAD, wrapped to (-pi, pi]. INCREASING.
LATITUDE_EXTREMUM5g = 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.
UMBRA6g = 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.
PENUMBRA7g = the same separation minus the sum of the apparent radii (the penumbra boundary).
CLOSEST_APPROACH8g = (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.
EXPRESSION9g = the value of EXPRESSION.

pcfEventDirection enum, ubyte

Which zero crossings of the event function count. Append new values only.

ValueNumberMeaning
ANY0
INCREASING1g goes from negative to positive.
DECREASING2g goes from positive to negative.

pcfEventAction enum, ubyte

What the integrator does at a located event. Append new values only.

ValueNumberMeaning
CONTINUE0The event is located and counted; it is not reported.
RECORD1The event is located, counted and reported; propagation continues.
STOP2The 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.

ValueNumberMeaning
UNSPECIFIED0
CONSTANT1Push VALUE.
PARAMETER2Push the value of PARAMETER at the integrated state, in the units of the $PCE catalog.
ADD3Pop two, push their sum, difference (second minus first popped), product or quotient.
SUBTRACT4
MULTIPLY5
DIVIDE6
NEGATE7Pop one, push the result.
ABSOLUTE8
SQUARE_ROOT9
SINE10
COSINE11
MINIMUM12Pop two, push the lesser or the greater.
MAXIMUM13

pcfInnovationCorrelation enum, ubyte

How the correlation of maneuver-detection innovations is weighted. Append new values only.

ValueNumberMeaning
UNSPECIFIED0
WHITE1Every sample independent (the white-noise assumption).
ONE_SAMPLE_PER_REVOLUTION2One sample per revolution counts, so a revolution is one independent innovation.
CORRELATION_TIME3An exponential correlation of the innovations over a correlation time.

pcfReentryWindowMethod enum, ubyte

How the reentry-time window is computed. Append new values only.

ValueNumberMeaning
UNSPECIFIED0
LINEAR1First-order propagation of the ballistic and density sigmas through the remaining life.
UNSCENTED2The 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.

ValueNumberMeaning
UNSPECIFIED0The grid template's frame; TEME without one.
TEME1True equator, mean equinox of date.
GCRF2Geocentric Celestial Reference Frame.
EME20003Mean equator and equinox of J2000.0.
ITRF4International 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.

ValueNumberMeaning
UNSPECIFIED0The provider's own algorithm.
RK41Classical fourth-order Runge-Kutta, fixed step INITIAL_STEP_SECONDS.
RKF452Runge-Kutta-Fehlberg 4(5) (Fehlberg 1969, NASA TR R-315), adaptive.
RKF783Runge-Kutta-Fehlberg 7(8) (Fehlberg 1968, NASA TR R-287), adaptive.
RK784The same Fehlberg 7(8) pair under the name the full force model's catalog profile uses, adaptive.
RKDP875Prince-Dormand 8(7), thirteen stages, "RK8(7)13M" (Prince and Dormand 1981, J. Comput. Appl. Math. 7), adaptive.
ABM6Adams-Bashforth-Moulton predictor-corrector multistep.
BS7Gragg-Bulirsch-Stoer extrapolation.
COWELL8Cowell's method: Cartesian position and velocity.
ENCKE9Encke's method: the deviation from a reference conic.
EQUINOCTIAL_VOP10Variation of parameters in equinoctial elements.
DOPRI511Dormand-Prince 5(4), seven stages (Dormand and Prince 1980, J. Comput. Appl. Math. 6).
RK6512Prince-Dormand 6(5), eight stages, minimized error coefficients, "RK6(5)8M" (Prince and Dormand 1981, J. Comput. Appl. Math. 7).
RKV9813Verner's 9(8) pair, sixteen stages (Verner 2010, Numer. Algorithms 53).
RKN121014Runge-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_815Gauss-Jackson eighth-order summed multistep, predict-evaluate-correct, started by a Runge-Kutta run (Berry and Healy 2004, J. Astronaut. Sci. 52).
GAUSS_VOP16Gauss's variational equations in classical Keplerian elements. Integrates a reduced force model; FFM refuses it by name.
DROMO17DROMO, 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.
STIEFEL18Stiefel-Scheifele regularized formulation in the fictitious time (Stiefel and Scheifele 1971, Linear and Regular Celestial Mechanics). FFM refuses it by name, as DROMO.
DOPRI85319Dormand-Prince 8(5,3), twelve stages (Hairer, Norsett and Wanner 1993, Solving Ordinary Differential Equations I).

pcfGravitySelection enum, ubyte

ValueNumberMeaning
EGM966NGA EGM96 (Lemoine et al. 1998, NASA/TP-1998-206861), tide-free.
GRGM660PRIM7GRGM660PRIM (Lemoine et al. 2013, J. Geophys. Res. Planets 118), the Moon's field, in the Moon's principal-axis frame.
MRO120F8MRO120F (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

ValueNumberMeaning
JACCHIA_ROBERTS5Jacchia-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.
JB20086Jacchia-Bowman 2008 (Bowman et al., AIAA 2008-6438): solar indices and Dst-derived temperature change from the request's JB2008 indices.
MARS_EXPONENTIAL7Banded 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.

ValueNumberMeaning

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.

ValueNumberMeaning

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.

ValueNumberMeaning
CANNONBALL0
GNSS_BOX_WING1
NONE2

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).

ValueNumberMeaning
NONE0
KNOCKE1

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.

ValueNumberMeaning
NONE0
FES20041

pcfGnssSpacecraftBlock enum, ubyte

GNSS spacecraft block, selecting the box-wing surfaces.

ValueNumberMeaning
UNSPECIFIED0
GPS_IIR1
GPS_IIR_M2
GPS_IIF3

Types without a link are defined in other Space Data Standards schemas that $PCF includes (FRM, TIM, PCE, EVL).