space-data-module-sdk 0.8.15 → 0.8.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/space-data-module.js +24 -6
- package/docs/_shell/consumer-assets.html +5 -0
- package/docs/browser-wasmedge-isomorphic.html +261 -0
- package/docs/byo-wasm-quickstart.html +226 -0
- package/docs/byo-wasm-quickstart.md +204 -0
- package/docs/conformance.html +162 -0
- package/docs/conformance.md +20 -4
- package/docs/emception-shared-memory-verdict.md +209 -0
- package/docs/events-abi.html +313 -0
- package/docs/events-abi.md +530 -0
- package/docs/families/analytics.html +178 -0
- package/docs/families/analytics.md +104 -0
- package/docs/families/attitude.html +157 -0
- package/docs/families/attitude.md +36 -0
- package/docs/families/behavior.html +157 -0
- package/docs/families/behavior.md +36 -0
- package/docs/families/breakup.html +157 -0
- package/docs/families/breakup.md +36 -0
- package/docs/families/conjunction.html +186 -0
- package/docs/families/conjunction.md +121 -0
- package/docs/families/data-source.html +323 -0
- package/docs/families/effects.html +157 -0
- package/docs/families/effects.md +36 -0
- package/docs/families/environment.html +170 -0
- package/docs/families/environment.md +73 -0
- package/docs/families/estimation.html +192 -0
- package/docs/families/estimation.md +158 -0
- package/docs/families/gnc.html +157 -0
- package/docs/families/gnc.md +36 -0
- package/docs/families/maneuver.html +209 -0
- package/docs/families/maneuver.md +206 -0
- package/docs/families/obstruction.html +191 -0
- package/docs/families/obstruction.md +96 -0
- package/docs/families/propagator.html +347 -0
- package/docs/families/propulsion.html +157 -0
- package/docs/families/propulsion.md +36 -0
- package/docs/families/reentry.html +157 -0
- package/docs/families/reentry.md +36 -0
- package/docs/families/rf.html +193 -0
- package/docs/families/rf.md +136 -0
- package/docs/families/scheduler.html +157 -0
- package/docs/families/scheduler.md +36 -0
- package/docs/families/sensor.html +157 -0
- package/docs/families/sensor.md +36 -0
- package/docs/families/signature.html +157 -0
- package/docs/families/signature.md +36 -0
- package/docs/flatsql-host-contract.html +176 -0
- package/docs/flatsql-streaming-standard.html +375 -0
- package/docs/gpu-module-abi.html +233 -0
- package/docs/harness-family-matrix.md +135 -0
- package/docs/index.html +216 -85
- package/docs/isomorphic-pthreads.html +228 -0
- package/docs/isomorphic-pthreads.md +84 -0
- package/docs/isomorphic-sdn-runtime-plan.html +274 -0
- package/docs/language-runtime-matrix.html +182 -0
- package/docs/llms.txt +86 -0
- package/docs/module-bundle-runtime-plan.html +146 -0
- package/docs/module-publication-standard.html +503 -0
- package/docs/node-red-default-node-parity.html +201 -0
- package/docs/propagator-abi.md +97 -12
- package/docs/protect-and-sign.html +181 -0
- package/docs/protect-and-sign.md +120 -0
- package/docs/protocol-installation.html +296 -0
- package/docs/provider-access-abi.md +25 -0
- package/docs/publication-submission.html +158 -0
- package/docs/publication-submission.md +78 -0
- package/docs/secrets-capability.html +206 -0
- package/docs/styles.css +860 -167
- package/docs/testing-harness.html +408 -0
- package/docs/tri-runtime-parity-gate.html +182 -0
- package/docs/tri-runtime-parity.html +203 -0
- package/include/orbpro/orbpro_estimation_abi.h +883 -0
- package/include/orbpro/orbpro_event_runner.h +951 -0
- package/include/orbpro/orbpro_events_abi.h +565 -0
- package/include/orbpro/orbpro_propagator_abi.h +75 -0
- package/package.json +13 -4
- package/schemas/orbpro/Estimation.fbs +244 -0
- package/schemas/orbpro/Events.fbs +501 -0
- package/schemas/orbpro/Propagator.fbs +136 -9
- package/schemas/orbpro/reference-frame-crosswalk.json +108 -0
- package/schemas/orbpro/reference-frame.lock.json +98 -0
- package/src/browser.js +13 -0
- package/src/conformance/estimationReference.js +81 -0
- package/src/conformance/estimationSuite.js +134 -0
- package/src/conformance/index.js +39 -2
- package/src/generated/orbpro/events-abi.js +206 -0
- package/src/generated/orbpro/events-abi.ts +319 -0
- package/src/generated/orbpro/propagator/reference-frame.js +17 -0
- package/src/generated/orbpro/propagator/reference-frame.ts +91 -1
- package/src/generated/orbpro/propagator-abi.js +38 -0
- package/src/generated/orbpro/propagator-abi.ts +67 -0
- package/src/generated/spacedatastandards/plg/CCT.d.ts +94 -0
- package/src/generated/spacedatastandards/plg/CCT.d.ts.map +1 -0
- package/src/generated/spacedatastandards/plg/CCT.js +208 -0
- package/src/generated/spacedatastandards/plg/CCT.ts +281 -0
- package/src/generated/spacedatastandards/plg/CCTCategory.d.ts +98 -0
- package/src/generated/spacedatastandards/plg/CCTCategory.d.ts.map +1 -0
- package/src/generated/spacedatastandards/plg/CCTCategory.js +177 -0
- package/src/generated/spacedatastandards/plg/CCTCategory.ts +269 -0
- package/src/generated/spacedatastandards/plg/CCTCategoryRollup.d.ts +54 -0
- package/src/generated/spacedatastandards/plg/CCTCategoryRollup.d.ts.map +1 -0
- package/src/generated/spacedatastandards/plg/CCTCategoryRollup.js +106 -0
- package/src/generated/spacedatastandards/plg/CCTCategoryRollup.ts +144 -0
- package/src/generated/spacedatastandards/plg/PLG.d.ts +46 -2
- package/src/generated/spacedatastandards/plg/PLG.d.ts.map +1 -1
- package/src/generated/spacedatastandards/plg/PLG.js +78 -5
- package/src/generated/spacedatastandards/plg/PLG.ts +90 -5
- package/src/generated/spacedatastandards/plg/capabilityClass.d.ts +181 -0
- package/src/generated/spacedatastandards/plg/capabilityClass.d.ts.map +1 -0
- package/src/generated/spacedatastandards/plg/capabilityClass.js +183 -0
- package/src/generated/spacedatastandards/plg/capabilityClass.ts +208 -0
- package/src/generated/spacedatastandards/plg/main.d.ts +4 -0
- package/src/generated/spacedatastandards/plg/main.d.ts.map +1 -1
- package/src/generated/spacedatastandards/plg/main.js +4 -0
- package/src/generated/spacedatastandards/plg/main.ts +4 -0
- package/src/generated/spacedatastandards/plg/pluginCategory.d.ts +40 -2
- package/src/generated/spacedatastandards/plg/pluginCategory.d.ts.map +1 -1
- package/src/generated/spacedatastandards/plg/pluginCategory.js +40 -2
- package/src/generated/spacedatastandards/plg/pluginCategory.ts +40 -2
- package/src/host/browserModuleHarness.js +8 -0
- package/src/host/wasiThreadHost.js +189 -14
- package/src/index.d.ts +18 -1
- package/src/standards/sharedCatalog.js +7 -0
- package/src/transport/index.js +16 -0
- package/src/transport/records.js +1015 -3
- package/templates/estimation-module/README.md +24 -0
- package/templates/estimation-module/build.mjs +32 -0
- package/templates/estimation-module/package.json +12 -0
- package/templates/estimation-module/plugin-manifest.json +34 -0
- package/templates/estimation-module/src/reference_estimation.cpp +53 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "space-data-module-sdk",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.17",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"description": "Module SDK for building, validating, signing, and deploying WebAssembly modules on the Space Data Network.",
|
|
6
6
|
"type": "module",
|
|
@@ -97,18 +97,27 @@
|
|
|
97
97
|
"gate:parity": "node ./bin/space-data-module.js parity-gate",
|
|
98
98
|
"gate:parity-negative-control": "node ./bin/space-data-module.js parity-gate --gate-manifest ./parity/negative-control.json --expect-fail",
|
|
99
99
|
"conformance:self-test": "node ./bin/space-data-module.js conformance propagator --self-test",
|
|
100
|
+
"conformance:estimation:self-test": "node ./bin/space-data-module.js conformance estimation --self-test",
|
|
100
101
|
"test:stream-ingest": "node --test test/runtime-host-stream-ingest.test.js",
|
|
101
102
|
"test:module-stream": "node --test test/module-flatbuffer-stream-pump.test.js",
|
|
102
103
|
"benchmark:stream-1gib": "SPACE_DATA_MODULE_SDK_ENABLE_1GB_STREAM_TEST=1 node --test test/runtime-host-stream-ingest.test.js",
|
|
103
104
|
"benchmark:module-stream-1gib": "SPACE_DATA_MODULE_SDK_ENABLE_1GB_MODULE_STREAM_TEST=1 node --test test/module-flatbuffer-stream-pump.test.js",
|
|
104
105
|
"start:lab": "node ./lab/server.js",
|
|
105
|
-
"
|
|
106
|
+
"build:docs": "node scripts/build-docs.mjs",
|
|
107
|
+
"check:docs": "node scripts/build-docs.mjs --check && node scripts/check-docs-links.mjs",
|
|
108
|
+
"check:docs-links": "node scripts/check-docs-links.mjs",
|
|
109
|
+
"check:nav": "node scripts/check-sdn-stack-nav.mjs module-sdk docs/index.html docs/families/propagator.html docs/families/rf.html docs/byo-wasm-quickstart.html docs/conformance.html docs/protect-and-sign.html docs/publication-submission.html docs/styles.css",
|
|
106
110
|
"check:compliance": "node ./bin/space-data-module.js check --repo-root .",
|
|
107
111
|
"check:generated-bindings": "node scripts/check-generated-bindings.mjs",
|
|
108
112
|
"check:propagator-abi": "node scripts/check-propagator-abi.mjs",
|
|
113
|
+
"check:estimation-abi": "node scripts/check-estimation-abi.mjs",
|
|
114
|
+
"check:reference-frame": "node scripts/check-reference-frame-uniqueness.mjs",
|
|
109
115
|
"generate:propagator-abi": "node scripts/generate-propagator-abi.mjs",
|
|
110
116
|
"generate:vectors": "node ./examples/single-file-bundle/generate-vectors.mjs",
|
|
111
|
-
"prepublishOnly": "npm test && npm run check:compliance"
|
|
117
|
+
"prepublishOnly": "npm test && npm run check:compliance",
|
|
118
|
+
"playground:build": "node ./playground/build.mjs",
|
|
119
|
+
"playground:serve": "node ./playground/build.mjs && node ./playground/server.mjs",
|
|
120
|
+
"playground:gate": "node ./playground/build.mjs && node ./playground/test/browser-gate.mjs"
|
|
112
121
|
},
|
|
113
122
|
"dependencies": {
|
|
114
123
|
"flatbuffers": "^25.9.23",
|
|
@@ -116,7 +125,7 @@
|
|
|
116
125
|
"flatsql": "^2.0.0",
|
|
117
126
|
"hd-wallet-wasm": "2.0.28",
|
|
118
127
|
"sdn-emception": "1.0.0",
|
|
119
|
-
"spacedatastandards.org": "
|
|
128
|
+
"spacedatastandards.org": "1.203.0"
|
|
120
129
|
},
|
|
121
130
|
"devDependencies": {
|
|
122
131
|
"esbuild": "^0.28.0",
|
|
@@ -0,0 +1,244 @@
|
|
|
1
|
+
include "Propagator.fbs";
|
|
2
|
+
|
|
3
|
+
namespace orbpro.estimation;
|
|
4
|
+
|
|
5
|
+
// Estimation family ABI. This schema is the single source of truth for the
|
|
6
|
+
// fixed-layout C boundary and the request/result wire. Propagation is an
|
|
7
|
+
// inverted port protocol: the guest emits state/STM requests and consumes the
|
|
8
|
+
// supplied Propagator.fbs answers. It imports no provider-specific function.
|
|
9
|
+
|
|
10
|
+
enum EstimatorKind : ubyte (abi, abi_c_name: "OrbProEstimatorKind", abi_c_prefix: "ORBPRO_ESTIMATOR_") {
|
|
11
|
+
BATCH_WEIGHTED_LEAST_SQUARES = 0,
|
|
12
|
+
EXTENDED_KALMAN_FILTER = 1,
|
|
13
|
+
UNSCENTED_KALMAN_FILTER = 2,
|
|
14
|
+
EXTENDED_KALMAN_FILTER_WITH_RTS = 3
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
enum MeasurementKind : ushort (abi, abi_c_name: "OrbProMeasurementKind", abi_c_prefix: "ORBPRO_MEASUREMENT_") {
|
|
18
|
+
RANGE = 0,
|
|
19
|
+
RANGE_RATE = 1,
|
|
20
|
+
DOPPLER = 2,
|
|
21
|
+
AZIMUTH_ELEVATION = 3,
|
|
22
|
+
X_EAST_Y_NORTH = 4,
|
|
23
|
+
X_SOUTH_Y_EAST = 5,
|
|
24
|
+
RIGHT_ASCENSION_DECLINATION = 6,
|
|
25
|
+
POSITION_VECTOR = 7,
|
|
26
|
+
SEQUENTIAL_RANGE = 8,
|
|
27
|
+
PSEUDONOISE_RANGE = 9,
|
|
28
|
+
TIME_CORRELATED_PHASE = 10,
|
|
29
|
+
RELAY_RANGE = 11,
|
|
30
|
+
RELAY_DOPPLER = 12,
|
|
31
|
+
RELAY_DIFFERENCED_DOPPLER = 13,
|
|
32
|
+
BISTATIC_RANGE = 14,
|
|
33
|
+
SKIN_RANGE = 15,
|
|
34
|
+
CROSSLINK_RANGE = 16,
|
|
35
|
+
CROSSLINK_RANGE_RATE = 17,
|
|
36
|
+
LASER_RANGE = 18,
|
|
37
|
+
TIME_DIFFERENCE_OF_ARRIVAL = 19,
|
|
38
|
+
FREQUENCY_DIFFERENCE_OF_ARRIVAL = 20
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
enum ProcessNoiseKind : ubyte (abi, abi_c_name: "OrbProProcessNoiseKind", abi_c_prefix: "ORBPRO_PROCESS_NOISE_") {
|
|
42
|
+
NONE = 0,
|
|
43
|
+
STATE_NOISE_COMPENSATION = 1,
|
|
44
|
+
DYNAMIC_MODEL_COMPENSATION = 2
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
enum TroposphereKind : ubyte (abi, abi_c_name: "OrbProTroposphereKind", abi_c_prefix: "ORBPRO_TROPOSPHERE_") {
|
|
48
|
+
NONE = 0,
|
|
49
|
+
HOPFIELD_SAASTAMOINEN = 1,
|
|
50
|
+
MARINI = 2
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
enum IonosphereKind : ubyte (abi, abi_c_name: "OrbProIonosphereKind", abi_c_prefix: "ORBPRO_IONOSPHERE_") {
|
|
54
|
+
NONE = 0,
|
|
55
|
+
TOTAL_ELECTRON_CONTENT = 1,
|
|
56
|
+
REFERENCE_PROFILE = 2
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
enum InitialOrbitKind : ubyte (abi, abi_c_name: "OrbProInitialOrbitKind", abi_c_prefix: "ORBPRO_IOD_") {
|
|
60
|
+
GAUSS = 0,
|
|
61
|
+
LAPLACE = 1,
|
|
62
|
+
GIBBS = 2,
|
|
63
|
+
HERRICK_GIBBS = 3
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
enum EstimationStatus : int (abi, abi_c_name: "OrbProEstimationStatus", abi_c_prefix: "ORBPRO_ESTIMATION_") {
|
|
67
|
+
INTERNAL = -20,
|
|
68
|
+
PROPAGATOR_PROTOCOL = -19,
|
|
69
|
+
BUFFER_TOO_SMALL = -18,
|
|
70
|
+
NOT_CONVERGED = -5,
|
|
71
|
+
BAD_INPUT = -4,
|
|
72
|
+
NULL_OUTPUT = -3,
|
|
73
|
+
NOT_CONFIGURED = -1,
|
|
74
|
+
OK = 0
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
struct EstimationEpoch (abi, abi_c_name: "OrbProEstimationEpoch", abi_c_helper_prefix: "orbpro_estimation_epoch_") {
|
|
78
|
+
jd_day:double;
|
|
79
|
+
seconds:double;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
/// One observation in SI units. The first value_count lanes of value and
|
|
83
|
+
/// sigma are meaningful. station_position_m is in the request frame.
|
|
84
|
+
struct EstimationObservation (abi, abi_c_name: "OrbProEstimationObservation", abi_c_helper_prefix: "orbpro_estimation_observation_") {
|
|
85
|
+
epoch:EstimationEpoch;
|
|
86
|
+
value:[double:4];
|
|
87
|
+
sigma:[double:4];
|
|
88
|
+
station_position_m:[double:3];
|
|
89
|
+
station_velocity_mps:[double:3];
|
|
90
|
+
station_east:[double:3];
|
|
91
|
+
station_north:[double:3];
|
|
92
|
+
station_up:[double:3];
|
|
93
|
+
remote_position_m:[double:3];
|
|
94
|
+
remote_velocity_mps:[double:3];
|
|
95
|
+
frequency_hz:double;
|
|
96
|
+
transmitter_delay_seconds:double;
|
|
97
|
+
receiver_delay_seconds:double;
|
|
98
|
+
transponder_delay_seconds:double;
|
|
99
|
+
elevation_rad:double;
|
|
100
|
+
station_latitude_rad:double;
|
|
101
|
+
station_height_m:double;
|
|
102
|
+
pressure_hpa:double;
|
|
103
|
+
temperature_k:double;
|
|
104
|
+
relative_humidity:double;
|
|
105
|
+
wavelength_m:double;
|
|
106
|
+
total_electron_content:double;
|
|
107
|
+
total_electron_content_rate_per_second:double;
|
|
108
|
+
turnaround_numerator:uint;
|
|
109
|
+
turnaround_denominator:uint;
|
|
110
|
+
kind:MeasurementKind;
|
|
111
|
+
value_count:ubyte;
|
|
112
|
+
flags:ubyte;
|
|
113
|
+
transmitter_index:uint;
|
|
114
|
+
receiver_index:uint;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
struct EstimationErrorModel (abi, abi_c_name: "OrbProEstimationErrorModel", abi_c_helper_prefix: "orbpro_estimation_error_model_") {
|
|
118
|
+
noise_sigma:double;
|
|
119
|
+
bias:double;
|
|
120
|
+
bias_sigma:double;
|
|
121
|
+
correlation_time_seconds:double;
|
|
122
|
+
minimum_value:double;
|
|
123
|
+
maximum_value:double;
|
|
124
|
+
sigma_edit_threshold:double;
|
|
125
|
+
random_seed:ulong;
|
|
126
|
+
measurement_kind:MeasurementKind;
|
|
127
|
+
troposphere:TroposphereKind;
|
|
128
|
+
ionosphere:IonosphereKind;
|
|
129
|
+
flags:ubyte;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
/// Fixed configuration copied byte-for-byte in every runtime. initial_state
|
|
133
|
+
/// is Cartesian [x,y,z,vx,vy,vz] in metres and metres per second; covariance
|
|
134
|
+
/// is row-major 6 by 6 in matching SI units.
|
|
135
|
+
struct EstimationConfig (abi, abi_c_name: "OrbProEstimationConfig", abi_c_helper_prefix: "orbpro_estimation_config_") {
|
|
136
|
+
initial_epoch:EstimationEpoch;
|
|
137
|
+
initial_state:[double:6];
|
|
138
|
+
initial_covariance:[double:36];
|
|
139
|
+
process_noise_spectral_density:[double:6];
|
|
140
|
+
state_convergence_tolerance:double;
|
|
141
|
+
rms_convergence_tolerance:double;
|
|
142
|
+
sigma_edit_threshold:double;
|
|
143
|
+
dynamic_model_correlation_time_seconds:double;
|
|
144
|
+
maximum_iterations:uint;
|
|
145
|
+
reference_frame:orbpro.propagator.ReferenceFrame;
|
|
146
|
+
estimator:EstimatorKind;
|
|
147
|
+
process_noise:ProcessNoiseKind;
|
|
148
|
+
flags:ushort;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
struct EstimationState (abi, abi_c_name: "OrbProEstimationState", abi_c_helper_prefix: "orbpro_estimation_state_") {
|
|
152
|
+
epoch:EstimationEpoch;
|
|
153
|
+
state:[double:6];
|
|
154
|
+
covariance:[double:36];
|
|
155
|
+
residual_rms:double;
|
|
156
|
+
recovered_noise_sigma:double;
|
|
157
|
+
iteration_count:uint;
|
|
158
|
+
accepted_count:uint;
|
|
159
|
+
rejected_count:uint;
|
|
160
|
+
reference_frame:orbpro.propagator.ReferenceFrame;
|
|
161
|
+
converged:ubyte;
|
|
162
|
+
smoothed:ubyte;
|
|
163
|
+
estimator:EstimatorKind;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
struct FilterEpoch (abi, abi_c_name: "OrbProFilterEpoch", abi_c_helper_prefix: "orbpro_filter_epoch_") {
|
|
167
|
+
epoch:EstimationEpoch;
|
|
168
|
+
filtered_state:[double:6];
|
|
169
|
+
filtered_covariance:[double:36];
|
|
170
|
+
smoothed_state:[double:6];
|
|
171
|
+
smoothed_covariance:[double:36];
|
|
172
|
+
normalized_innovation_squared:double;
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
/// State and state-transition matrix supplied by the propagator port. The STM
|
|
176
|
+
/// maps deviations at the estimator epoch to this sample epoch.
|
|
177
|
+
struct EstimationPropagatorSample (abi, abi_c_name: "OrbProEstimationPropagatorSample", abi_c_helper_prefix: "orbpro_estimation_propagator_sample_") {
|
|
178
|
+
epoch:EstimationEpoch;
|
|
179
|
+
state:[double:6];
|
|
180
|
+
stm:[double:36];
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
struct InitialOrbitRequest (abi, abi_c_name: "OrbProInitialOrbitRequest", abi_c_helper_prefix: "orbpro_initial_orbit_request_") {
|
|
184
|
+
// Three inertial position vectors for Gibbs and Herrick-Gibbs.
|
|
185
|
+
positions_m:[double:9];
|
|
186
|
+
// Three observer positions followed by the three topocentric angle pairs
|
|
187
|
+
// used by Gauss and Laplace. The method selects which input set is read.
|
|
188
|
+
observer_positions_m:[double:9];
|
|
189
|
+
right_ascensions_rad:[double:3];
|
|
190
|
+
declinations_rad:[double:3];
|
|
191
|
+
epochs:EstimationEpoch;
|
|
192
|
+
interval_12_seconds:double;
|
|
193
|
+
interval_23_seconds:double;
|
|
194
|
+
gravitational_parameter_m3_s2:double;
|
|
195
|
+
method:InitialOrbitKind;
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
struct InitialOrbitResult (abi, abi_c_name: "OrbProInitialOrbitResult", abi_c_helper_prefix: "orbpro_initial_orbit_result_") {
|
|
199
|
+
epoch:EstimationEpoch;
|
|
200
|
+
state:[double:6];
|
|
201
|
+
iterations:uint;
|
|
202
|
+
reference_frame:orbpro.propagator.ReferenceFrame;
|
|
203
|
+
status:EstimationStatus;
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
/// Request/result wire. observations are decoded from $TDM/$CRD before they
|
|
207
|
+
/// cross this family boundary; their source record identifiers remain on the
|
|
208
|
+
/// request for a complete provenance trail.
|
|
209
|
+
table EstimationRequest {
|
|
210
|
+
config:EstimationConfig;
|
|
211
|
+
observations:[EstimationObservation];
|
|
212
|
+
error_models:[EstimationErrorModel];
|
|
213
|
+
source_record_ids:[string];
|
|
214
|
+
propagator_port_id:string (required);
|
|
215
|
+
propagator_capability:string (required);
|
|
216
|
+
trace_id:string;
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
table EstimationResult {
|
|
220
|
+
status:EstimationStatus = OK;
|
|
221
|
+
estimate:EstimationState;
|
|
222
|
+
filter_history:[FilterEpoch];
|
|
223
|
+
residuals:[double];
|
|
224
|
+
/// Row-major 6x6 covariance blocks, one per batch iteration, in iteration
|
|
225
|
+
/// order. Empty for sequential estimators.
|
|
226
|
+
iteration_covariances:[double];
|
|
227
|
+
rejected_observation_indices:[uint];
|
|
228
|
+
odr_record:[ubyte];
|
|
229
|
+
ocm_record:[ubyte];
|
|
230
|
+
error_message:string;
|
|
231
|
+
trace_id:string;
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
table EstimationEnvelope {
|
|
235
|
+
request:EstimationRequest;
|
|
236
|
+
result:EstimationResult;
|
|
237
|
+
propagator_samples:[EstimationPropagatorSample];
|
|
238
|
+
simulated_observations:[EstimationObservation];
|
|
239
|
+
initial_orbit_request:InitialOrbitRequest;
|
|
240
|
+
initial_orbit_result:InitialOrbitResult;
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
root_type EstimationEnvelope;
|
|
244
|
+
file_identifier "$EST";
|