gnss-js 2.13.1 → 2.14.0

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/dist/index.d.cts CHANGED
@@ -20,9 +20,9 @@ export { TrimbleEpoch, TrimbleFrame, TrimbleMeasurement, TrimbleNavResult, Trimb
20
20
  export { BinexEpoch, BinexMeasurement, BinexParseResult, BinexRecord, binexCrc16, binexCrc32, binexCsum8, binexRecords, decodeBinexEph, getBnxi, parseBinex } from './binex.cjs';
21
21
  export { AllPositionsData, AlmanacPosition, DopValues, EPHEMERIS_VALIDITY_MS, EpochSkyData, SatAzEl, SatPoint, SatPosition, VisibilityPass, VisibilityResult, almanacEpochMs, almanacSatPosition, computeAllPositions, computeDop, computeLiveSkyPositions, computeSatPosition, computeVisibility, computeVisibilityFromPositions, dopplerHz, ecefToAzEl, ephInfoToEphemeris, glonassAlmanacEpochMs, glonassAlmanacPosition, glonassPosition, isEphemerisValid, keplerPosition, maskRadForAzimuth, navTimesFromEph, nearestValidEphemeris, rangeRate, selectEphemeris } from './orbit.cjs';
22
22
  export { Helmert14, REFERENCE_FRAMES, ReferenceFrame, applyHelmert, dateToEpoch, transformFrame } from './frames.cjs';
23
- export { AntennaOffset, AppliedOrbitClock, ArFixedSat, ArOptions, ArResult, ArSat, CorrectionResult, Degradation, DgnssOptions, DgnssSolution, EphemerisSource, FixedPositionResult, IONO_L1_M_PER_TECU, KlobucharCoeffs, LambdaResult, MsmResolveOptions, NetworkFcbResult, NetworkFcbSummary, NlArc, NlFcbResult, OrbitClockCorrection, PppAntennaModel, PppArc, PppCorrectionConfig, PppCorrections, PppEngine, PppEphemerisSource, PppEpoch, PppEpochContext, PppEpochResult, PppFixState, PppOptions, PppSatObs, PppSolution, RawObservation, ReceiverBias, ReceiverClockSample, RtkAntennaConfig, RtkAntennaModel, RtkAntennaOffset, RtkEpochMeasurements, RtkFloatEngine, RtkFloatOptions, RtkFloatSolution, RtkMeasurement, RtkObsEpoch, RtkObsInput, RtkPostProcessOptions, RtkPostProcessResult, RtkReceiverAntenna, RtkTrackPoint, SatGeom, SatSample, SbasCorrectionSource, SbasIgp, SbasIonoDelay, SbasProcessor, SbasSatCorrection, Sp3EphemerisSource, SppOptions, SppSolution, TropoMapping, WlArc, WlFcbOptions, WlFcbResult, WlObs, ZeroBaselineEngine, ZeroBaselineOptions, antexFreqOfGroup, applyOrbitClock, buildPppAntenna, buildRtkAntenna, createPppCorrections, estimateNarrowlaneFcb, estimateNetworkFcbs, estimateWidelaneFcb, extractWidelaneArcs, fixPppPosition, gimSlantIonoDelayL1, gimVerticalTec, gmst, hasToOrbitClock, ionoFree, klobucharDelay, lambdaReduction, lambdaSearch, moonEcef, niellMapping, nlWavelength, postProcessRtk, rcvAntennaRangeM, resolveMsmRanges, resolvePppAmbiguities, satClockCorrection, sbasIonoDeg, sbasLongTermDeg, sbasProtectionLevels, solidEarthTide, solveDgnss, solvePpp, solveSpp, sunEcef, toRtkEpoch, wlWavelength } from './positioning.cjs';
23
+ export { AntennaOffset, AppliedOrbitClock, ArFixedSat, ArOptions, ArResult, ArSat, BLQ_CONSTITUENTS, CorrectionResult, Degradation, DgnssOptions, DgnssSolution, EphemerisSource, FixedPositionResult, IONO_L1_M_PER_TECU, KlobucharCoeffs, LambdaResult, MsmResolveOptions, NetworkFcbResult, NetworkFcbSummary, NlArc, NlFcbResult, OceanLoadingCoefficients, OrbitClockCorrection, PppAntennaModel, PppArc, PppCorrectionConfig, PppCorrections, PppEngine, PppEphemerisSource, PppEpoch, PppEpochContext, PppEpochResult, PppFixState, PppOptions, PppSatObs, PppSolution, PppTroposphereModel, RawObservation, ReceiverBias, ReceiverClockSample, RtkAntennaConfig, RtkAntennaModel, RtkAntennaOffset, RtkEpochMeasurements, RtkFloatEngine, RtkFloatOptions, RtkFloatSolution, RtkMeasurement, RtkObsEpoch, RtkObsInput, RtkPostProcessOptions, RtkPostProcessResult, RtkReceiverAntenna, RtkTrackPoint, SatGeom, SatSample, SbasCorrectionSource, SbasIgp, SbasIonoDelay, SbasProcessor, SbasSatCorrection, Sp3EphemerisSource, SppOptions, SppSolution, TropoMapping, WlArc, WlFcbOptions, WlFcbResult, WlObs, ZeroBaselineEngine, ZeroBaselineOptions, antexFreqOfGroup, applyOrbitClock, buildPppAntenna, buildRtkAntenna, createPppCorrections, estimateNarrowlaneFcb, estimateNetworkFcbs, estimateWidelaneFcb, extractWidelaneArcs, fixPppPosition, gimSlantIonoDelayL1, gimVerticalTec, gmst, hasToOrbitClock, ionoFree, klobucharDelay, lambdaReduction, lambdaSearch, moonEcef, niellMapping, nlWavelength, oceanLoadingEnu, parseBlq, postProcessRtk, rcvAntennaRangeM, resolveMsmRanges, resolvePppAmbiguities, satClockCorrection, sbasIonoDeg, sbasLongTermDeg, sbasProtectionLevels, solidEarthTide, solveDgnss, solvePpp, solveSpp, sunEcef, toRtkEpoch, wlWavelength } from './positioning.cjs';
24
24
  export { NtripCaster, NtripConnectionInfo, NtripNetwork, NtripStream, NtripStreamConnection, NtripVersion, Sourcetable, SourcetableEntry, connectToMountpoint, fetchSourcetable, parseSourcetable } from './ntrip.cjs';
25
- export { CompleteSatSignal, CompleteSignalStats, CompletenessAccumulator, CompletenessResult, CycleSlipAccumulator, CycleSlipEvent, CycleSlipResult, CycleSlipSignalStats, IonoAccumulator, IonoDcbResult, IonoPoint, IonoRatePoint, IonoRateSeries, IonoResult, IonoSeries, MultipathAccumulator, MultipathPoint, MultipathResult, MultipathSeries, MultipathSignalStat, QualityResult, SatDcbMap, analyzeQuality, applyIonoDcb, computeIonoRate, detrendIonoArcs, parseSinexBiasDcb } from './analysis.cjs';
25
+ export { CompleteSatSignal, CompleteSignalStats, CompletenessAccumulator, CompletenessResult, CoordinateSample, CycleSlipAccumulator, CycleSlipEvent, CycleSlipResult, CycleSlipSignalStats, HelmertFit, HelmertModel, HelmertOptions, IonoAccumulator, IonoDcbResult, IonoPoint, IonoRatePoint, IonoRateSeries, IonoResult, IonoSeries, MultipathAccumulator, MultipathPoint, MultipathResult, MultipathSeries, MultipathSignalStat, QualityResult, SatDcbMap, SeriesComponent, SeriesFit, SeriesFitOptions, SeriesPoint, analyzeQuality, applyHelmertFit, applyIonoDcb, computeIonoRate, detrendIonoArcs, estimateHelmert, fitCoordinateSeries, parseSinexBiasDcb } from './analysis.cjs';
26
26
  export { AntennaEntry, AntexFile, FrequencyData, frequencyLabel, parseAntex } from './antex.cjs';
27
27
  export { NmeaFix, NmeaStats, NmeaTrack, computeStats, nmeaCoordToDecimal, parseNmeaFile, verifyChecksum } from './nmea.cjs';
28
28
  export { BAND_PRESETS, BandPreset, CONSTELLATIONS, ConstellationRow, DELTA_GLO_L1, DELTA_GLO_L2, FREQ_BDS_B1A, FREQ_BDS_B1C, FREQ_BDS_B1I, FREQ_BDS_B2I, FREQ_BDS_B3A, FREQ_BDS_B3I, FREQ_GAL_E1, FREQ_GAL_E5, FREQ_GAL_E5a, FREQ_GAL_E5b, FREQ_GAL_E6, FREQ_GLO_L1, FREQ_GLO_L1OC, FREQ_GLO_L2, FREQ_GLO_L2OC, FREQ_GLO_L3OC, FREQ_GPS_L1, FREQ_GPS_L2, FREQ_GPS_L5, FREQ_NAVIC_L5, FREQ_QZS_L1, FREQ_QZS_L2, FREQ_QZS_L5, FREQ_QZS_L6, Modulation, SignalDef, computePsdDb, phiAltBOC, phiBOCc, phiBOCs, phiBPSK } from './signals.cjs';
package/dist/index.d.ts CHANGED
@@ -20,9 +20,9 @@ export { TrimbleEpoch, TrimbleFrame, TrimbleMeasurement, TrimbleNavResult, Trimb
20
20
  export { BinexEpoch, BinexMeasurement, BinexParseResult, BinexRecord, binexCrc16, binexCrc32, binexCsum8, binexRecords, decodeBinexEph, getBnxi, parseBinex } from './binex.js';
21
21
  export { AllPositionsData, AlmanacPosition, DopValues, EPHEMERIS_VALIDITY_MS, EpochSkyData, SatAzEl, SatPoint, SatPosition, VisibilityPass, VisibilityResult, almanacEpochMs, almanacSatPosition, computeAllPositions, computeDop, computeLiveSkyPositions, computeSatPosition, computeVisibility, computeVisibilityFromPositions, dopplerHz, ecefToAzEl, ephInfoToEphemeris, glonassAlmanacEpochMs, glonassAlmanacPosition, glonassPosition, isEphemerisValid, keplerPosition, maskRadForAzimuth, navTimesFromEph, nearestValidEphemeris, rangeRate, selectEphemeris } from './orbit.js';
22
22
  export { Helmert14, REFERENCE_FRAMES, ReferenceFrame, applyHelmert, dateToEpoch, transformFrame } from './frames.js';
23
- export { AntennaOffset, AppliedOrbitClock, ArFixedSat, ArOptions, ArResult, ArSat, CorrectionResult, Degradation, DgnssOptions, DgnssSolution, EphemerisSource, FixedPositionResult, IONO_L1_M_PER_TECU, KlobucharCoeffs, LambdaResult, MsmResolveOptions, NetworkFcbResult, NetworkFcbSummary, NlArc, NlFcbResult, OrbitClockCorrection, PppAntennaModel, PppArc, PppCorrectionConfig, PppCorrections, PppEngine, PppEphemerisSource, PppEpoch, PppEpochContext, PppEpochResult, PppFixState, PppOptions, PppSatObs, PppSolution, RawObservation, ReceiverBias, ReceiverClockSample, RtkAntennaConfig, RtkAntennaModel, RtkAntennaOffset, RtkEpochMeasurements, RtkFloatEngine, RtkFloatOptions, RtkFloatSolution, RtkMeasurement, RtkObsEpoch, RtkObsInput, RtkPostProcessOptions, RtkPostProcessResult, RtkReceiverAntenna, RtkTrackPoint, SatGeom, SatSample, SbasCorrectionSource, SbasIgp, SbasIonoDelay, SbasProcessor, SbasSatCorrection, Sp3EphemerisSource, SppOptions, SppSolution, TropoMapping, WlArc, WlFcbOptions, WlFcbResult, WlObs, ZeroBaselineEngine, ZeroBaselineOptions, antexFreqOfGroup, applyOrbitClock, buildPppAntenna, buildRtkAntenna, createPppCorrections, estimateNarrowlaneFcb, estimateNetworkFcbs, estimateWidelaneFcb, extractWidelaneArcs, fixPppPosition, gimSlantIonoDelayL1, gimVerticalTec, gmst, hasToOrbitClock, ionoFree, klobucharDelay, lambdaReduction, lambdaSearch, moonEcef, niellMapping, nlWavelength, postProcessRtk, rcvAntennaRangeM, resolveMsmRanges, resolvePppAmbiguities, satClockCorrection, sbasIonoDeg, sbasLongTermDeg, sbasProtectionLevels, solidEarthTide, solveDgnss, solvePpp, solveSpp, sunEcef, toRtkEpoch, wlWavelength } from './positioning.js';
23
+ export { AntennaOffset, AppliedOrbitClock, ArFixedSat, ArOptions, ArResult, ArSat, BLQ_CONSTITUENTS, CorrectionResult, Degradation, DgnssOptions, DgnssSolution, EphemerisSource, FixedPositionResult, IONO_L1_M_PER_TECU, KlobucharCoeffs, LambdaResult, MsmResolveOptions, NetworkFcbResult, NetworkFcbSummary, NlArc, NlFcbResult, OceanLoadingCoefficients, OrbitClockCorrection, PppAntennaModel, PppArc, PppCorrectionConfig, PppCorrections, PppEngine, PppEphemerisSource, PppEpoch, PppEpochContext, PppEpochResult, PppFixState, PppOptions, PppSatObs, PppSolution, PppTroposphereModel, RawObservation, ReceiverBias, ReceiverClockSample, RtkAntennaConfig, RtkAntennaModel, RtkAntennaOffset, RtkEpochMeasurements, RtkFloatEngine, RtkFloatOptions, RtkFloatSolution, RtkMeasurement, RtkObsEpoch, RtkObsInput, RtkPostProcessOptions, RtkPostProcessResult, RtkReceiverAntenna, RtkTrackPoint, SatGeom, SatSample, SbasCorrectionSource, SbasIgp, SbasIonoDelay, SbasProcessor, SbasSatCorrection, Sp3EphemerisSource, SppOptions, SppSolution, TropoMapping, WlArc, WlFcbOptions, WlFcbResult, WlObs, ZeroBaselineEngine, ZeroBaselineOptions, antexFreqOfGroup, applyOrbitClock, buildPppAntenna, buildRtkAntenna, createPppCorrections, estimateNarrowlaneFcb, estimateNetworkFcbs, estimateWidelaneFcb, extractWidelaneArcs, fixPppPosition, gimSlantIonoDelayL1, gimVerticalTec, gmst, hasToOrbitClock, ionoFree, klobucharDelay, lambdaReduction, lambdaSearch, moonEcef, niellMapping, nlWavelength, oceanLoadingEnu, parseBlq, postProcessRtk, rcvAntennaRangeM, resolveMsmRanges, resolvePppAmbiguities, satClockCorrection, sbasIonoDeg, sbasLongTermDeg, sbasProtectionLevels, solidEarthTide, solveDgnss, solvePpp, solveSpp, sunEcef, toRtkEpoch, wlWavelength } from './positioning.js';
24
24
  export { NtripCaster, NtripConnectionInfo, NtripNetwork, NtripStream, NtripStreamConnection, NtripVersion, Sourcetable, SourcetableEntry, connectToMountpoint, fetchSourcetable, parseSourcetable } from './ntrip.js';
25
- export { CompleteSatSignal, CompleteSignalStats, CompletenessAccumulator, CompletenessResult, CycleSlipAccumulator, CycleSlipEvent, CycleSlipResult, CycleSlipSignalStats, IonoAccumulator, IonoDcbResult, IonoPoint, IonoRatePoint, IonoRateSeries, IonoResult, IonoSeries, MultipathAccumulator, MultipathPoint, MultipathResult, MultipathSeries, MultipathSignalStat, QualityResult, SatDcbMap, analyzeQuality, applyIonoDcb, computeIonoRate, detrendIonoArcs, parseSinexBiasDcb } from './analysis.js';
25
+ export { CompleteSatSignal, CompleteSignalStats, CompletenessAccumulator, CompletenessResult, CoordinateSample, CycleSlipAccumulator, CycleSlipEvent, CycleSlipResult, CycleSlipSignalStats, HelmertFit, HelmertModel, HelmertOptions, IonoAccumulator, IonoDcbResult, IonoPoint, IonoRatePoint, IonoRateSeries, IonoResult, IonoSeries, MultipathAccumulator, MultipathPoint, MultipathResult, MultipathSeries, MultipathSignalStat, QualityResult, SatDcbMap, SeriesComponent, SeriesFit, SeriesFitOptions, SeriesPoint, analyzeQuality, applyHelmertFit, applyIonoDcb, computeIonoRate, detrendIonoArcs, estimateHelmert, fitCoordinateSeries, parseSinexBiasDcb } from './analysis.js';
26
26
  export { AntennaEntry, AntexFile, FrequencyData, frequencyLabel, parseAntex } from './antex.js';
27
27
  export { NmeaFix, NmeaStats, NmeaTrack, computeStats, nmeaCoordToDecimal, parseNmeaFile, verifyChecksum } from './nmea.js';
28
28
  export { BAND_PRESETS, BandPreset, CONSTELLATIONS, ConstellationRow, DELTA_GLO_L1, DELTA_GLO_L2, FREQ_BDS_B1A, FREQ_BDS_B1C, FREQ_BDS_B1I, FREQ_BDS_B2I, FREQ_BDS_B3A, FREQ_BDS_B3I, FREQ_GAL_E1, FREQ_GAL_E5, FREQ_GAL_E5a, FREQ_GAL_E5b, FREQ_GAL_E6, FREQ_GLO_L1, FREQ_GLO_L1OC, FREQ_GLO_L2, FREQ_GLO_L2OC, FREQ_GLO_L3OC, FREQ_GPS_L1, FREQ_GPS_L2, FREQ_GPS_L5, FREQ_NAVIC_L5, FREQ_QZS_L1, FREQ_QZS_L2, FREQ_QZS_L5, FREQ_QZS_L6, Modulation, SignalDef, computePsdDb, phiAltBOC, phiBOCc, phiBOCs, phiBPSK } from './signals.js';
package/dist/index.js CHANGED
@@ -4,11 +4,14 @@ import {
4
4
  IonoAccumulator,
5
5
  MultipathAccumulator,
6
6
  analyzeQuality,
7
+ applyHelmertFit,
7
8
  applyIonoDcb,
8
9
  computeIonoRate,
9
10
  detrendIonoArcs,
11
+ estimateHelmert,
12
+ fitCoordinateSeries,
10
13
  parseSinexBiasDcb
11
- } from "./chunk-MFCPYUEI.js";
14
+ } from "./chunk-GGWK7XLZ.js";
12
15
  import {
13
16
  frequencyLabel,
14
17
  parseAntex
@@ -176,6 +179,7 @@ import {
176
179
  transformFrame
177
180
  } from "./chunk-4KOXMHUW.js";
178
181
  import {
182
+ BLQ_CONSTITUENTS,
179
183
  IONO_L1_M_PER_TECU,
180
184
  PppEngine,
181
185
  RtkFloatEngine,
@@ -203,6 +207,8 @@ import {
203
207
  moonEcef,
204
208
  niellMapping,
205
209
  nlWavelength,
210
+ oceanLoadingEnu,
211
+ parseBlq,
206
212
  postProcessRtk,
207
213
  rcvAntennaRangeM,
208
214
  resolveMsmRanges,
@@ -218,7 +224,7 @@ import {
218
224
  sunEcef,
219
225
  toRtkEpoch,
220
226
  wlWavelength
221
- } from "./chunk-PQLPPFIK.js";
227
+ } from "./chunk-TETPRPZ2.js";
222
228
  import "./chunk-H3AKFD25.js";
223
229
  import {
224
230
  EPHEMERIS_VALIDITY_MS,
@@ -414,6 +420,7 @@ export {
414
420
  BAND_LABELS,
415
421
  BAND_PRESETS,
416
422
  BDS_SATELLITES,
423
+ BLQ_CONSTITUENTS,
417
424
  BitReader,
418
425
  CONSTELLATIONS,
419
426
  C_LIGHT,
@@ -511,6 +518,7 @@ export {
511
518
  analyzeQuality,
512
519
  antexFreqOfGroup,
513
520
  applyHelmert,
521
+ applyHelmertFit,
514
522
  applyIonoDcb,
515
523
  applyOrbitClock,
516
524
  biasMetres,
@@ -558,6 +566,7 @@ export {
558
566
  ecefToAzEl,
559
567
  ecefToGeodetic,
560
568
  ephInfoToEphemeris,
569
+ estimateHelmert,
561
570
  estimateNarrowlaneFcb,
562
571
  estimateNetworkFcbs,
563
572
  estimateWidelaneFcb,
@@ -569,6 +578,7 @@ export {
569
578
  feedNavicBlock,
570
579
  fetchSourcetable,
571
580
  findSatBias,
581
+ fitCoordinateSeries,
572
582
  fixPppPosition,
573
583
  fmtD,
574
584
  fmtF,
@@ -663,12 +673,14 @@ export {
663
673
  nlWavelength,
664
674
  nmeaCoordToDecimal,
665
675
  obsEpochToDate,
676
+ oceanLoadingEnu,
666
677
  oem4Frames,
667
678
  padL,
668
679
  padR,
669
680
  parseAntex,
670
681
  parseBiasSinex,
671
682
  parseBinex,
683
+ parseBlq,
672
684
  parseClk,
673
685
  parseCrxDataLine,
674
686
  parseIonex,
@@ -20,6 +20,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
20
20
  // src/positioning/index.ts
21
21
  var positioning_exports = {};
22
22
  __export(positioning_exports, {
23
+ BLQ_CONSTITUENTS: () => BLQ_CONSTITUENTS,
23
24
  IONO_L1_M_PER_TECU: () => IONO_L1_M_PER_TECU,
24
25
  PppEngine: () => PppEngine,
25
26
  RtkFloatEngine: () => RtkFloatEngine,
@@ -47,6 +48,8 @@ __export(positioning_exports, {
47
48
  moonEcef: () => moonEcef,
48
49
  niellMapping: () => niellMapping,
49
50
  nlWavelength: () => nlWavelength,
51
+ oceanLoadingEnu: () => oceanLoadingEnu,
52
+ parseBlq: () => parseBlq,
50
53
  postProcessRtk: () => postProcessRtk,
51
54
  rcvAntennaRangeM: () => rcvAntennaRangeM,
52
55
  resolveMsmRanges: () => resolveMsmRanges,
@@ -3544,6 +3547,103 @@ function solidEarthTide(rcv, sun, moon) {
3544
3547
  return disp;
3545
3548
  }
3546
3549
 
3550
+ // src/positioning/ocean-loading.ts
3551
+ var BLQ_CONSTITUENTS = [
3552
+ "M2",
3553
+ "S2",
3554
+ "N2",
3555
+ "K2",
3556
+ "K1",
3557
+ "O1",
3558
+ "P1",
3559
+ "Q1",
3560
+ "Mf",
3561
+ "Mm",
3562
+ "Ssa"
3563
+ ];
3564
+ var ARGS = [
3565
+ [140519e-9, 2, -2, 0, 0],
3566
+ // M2
3567
+ [145444e-9, 0, 0, 0, 0],
3568
+ // S2
3569
+ [13788e-8, 2, -3, 1, 0],
3570
+ // N2
3571
+ [145842e-9, 2, 0, 0, 0],
3572
+ // K2
3573
+ [72921e-9, 1, 0, 0, 0.25],
3574
+ // K1
3575
+ [67598e-9, 1, -2, 0, -0.25],
3576
+ // O1
3577
+ [72523e-9, -1, 0, 0, -0.25],
3578
+ // P1
3579
+ [64959e-9, 1, -3, 1, -0.25],
3580
+ // Q1
3581
+ [53234e-10, 0, 2, 0, 0],
3582
+ // Mf
3583
+ [26392e-10, 0, 1, -1, 0],
3584
+ // Mm
3585
+ [3982e-10, 2, 0, 0, 0]
3586
+ // Ssa
3587
+ ];
3588
+ var D2R2 = Math.PI / 180;
3589
+ function oceanLoadingEnu(c, utcMs) {
3590
+ const day = Math.floor(utcMs / 864e5);
3591
+ const fday = (utcMs - day * 864e5) / 1e3;
3592
+ const days = day - Date.UTC(1975, 0, 1) / 864e5 + 1;
3593
+ const t = (27392.500528 + 1.000000035 * days) / 36525;
3594
+ const t2 = t * t;
3595
+ const t3 = t2 * t;
3596
+ const a = [
3597
+ fday,
3598
+ (279.69668 + 36000.768930485 * t + 303e-6 * t2) * D2R2,
3599
+ // H0
3600
+ (270.434358 + 481267.88314137 * t - 1133e-6 * t2 + 19e-7 * t3) * D2R2,
3601
+ // S0
3602
+ (334.329653 + 4069.0340329577 * t - 0.010325 * t2 - 12e-6 * t3) * D2R2,
3603
+ // P0
3604
+ 2 * Math.PI
3605
+ ];
3606
+ const dp = [0, 0, 0];
3607
+ for (let i = 0; i < ARGS.length; i++) {
3608
+ let ang = 0;
3609
+ for (let j = 0; j < 5; j++) ang += a[j] * ARGS[i][j];
3610
+ for (let k = 0; k < 3; k++)
3611
+ dp[k] += c.amplitude[i][k] * Math.cos(ang - c.phase[i][k] * D2R2);
3612
+ }
3613
+ return [-dp[1], -dp[2], dp[0]];
3614
+ }
3615
+ function parseBlq(text) {
3616
+ const out = /* @__PURE__ */ new Map();
3617
+ const lines = text.split(/\r?\n/);
3618
+ for (let i = 0; i < lines.length; i++) {
3619
+ const l = lines[i];
3620
+ if (!l.trim() || l.startsWith("$$")) continue;
3621
+ const name = l.trim().split(/\s+/)[0].toUpperCase();
3622
+ const rows = [];
3623
+ let j = i + 1;
3624
+ while (j < lines.length && rows.length < 6) {
3625
+ const r = lines[j];
3626
+ j++;
3627
+ if (r.startsWith("$$") || !r.trim()) continue;
3628
+ const v = r.trim().split(/\s+/).map(Number);
3629
+ if (v.length !== 11 || v.some((x) => !Number.isFinite(x))) break;
3630
+ rows.push(v);
3631
+ }
3632
+ if (rows.length === 6) {
3633
+ out.set(name, {
3634
+ amplitude: BLQ_CONSTITUENTS.map(
3635
+ (_, k) => [rows[0][k], rows[1][k], rows[2][k]]
3636
+ ),
3637
+ phase: BLQ_CONSTITUENTS.map(
3638
+ (_, k) => [rows[3][k], rows[4][k], rows[5][k]]
3639
+ )
3640
+ });
3641
+ i = j - 1;
3642
+ }
3643
+ }
3644
+ return out;
3645
+ }
3646
+
3547
3647
  // src/positioning/ppp-corrections.ts
3548
3648
  function applyCorrections(corrections, geom, ctx) {
3549
3649
  if (corrections.evaluate) return corrections.evaluate(geom, ctx);
@@ -3561,6 +3661,14 @@ function createPppCorrections(cfg) {
3561
3661
  const sun = sunEcef(timeMs);
3562
3662
  const moon = moonEcef(timeMs);
3563
3663
  const tideDisp = useTides ? solidEarthTide(rcvEcef, sun, moon) : [0, 0, 0];
3664
+ if (cfg.oceanLoading) {
3665
+ const [e, n, u] = oceanLoadingEnu(cfg.oceanLoading, timeMs);
3666
+ const [lat, lon] = ecefToGeodetic(rcvEcef[0], rcvEcef[1], rcvEcef[2]);
3667
+ const d = enuToEcef([e, n, u], lat, lon);
3668
+ tideDisp[0] += d[0];
3669
+ tideDisp[1] += d[1];
3670
+ tideDisp[2] += d[2];
3671
+ }
3564
3672
  return { timeMs, sun, moon, tideDisp };
3565
3673
  },
3566
3674
  evaluate(geom, ctx) {
@@ -3615,7 +3723,7 @@ function createPppCorrections(cfg) {
3615
3723
  rangeM += interpPcv(off, zenithDeg);
3616
3724
  }
3617
3725
  }
3618
- if (useTides && ctx) {
3726
+ if (ctx) {
3619
3727
  rangeM -= dot(e, ctx.tideDisp);
3620
3728
  }
3621
3729
  if (useWindup && frame) {
@@ -4001,7 +4109,7 @@ var PppEngine = class {
4001
4109
  for (const ci of clkIdx.values()) P[ci][ci] = CLK_VAR;
4002
4110
  P[IDX_ZWD][IDX_ZWD] += ztdQ * (ei > 0 ? 1 : 0);
4003
4111
  const rcv = [x[IDX_X], x[IDX_Y], x[IDX_Z]];
4004
- const [latRad, , heightM] = ecefToGeodetic(rcv[0], rcv[1], rcv[2]);
4112
+ const [latRad, lonRad, heightM] = ecefToGeodetic(rcv[0], rcv[1], rcv[2]);
4005
4113
  const epochCtx = corrections?.epochContext?.(epoch.timeMs, rcv) ?? null;
4006
4114
  const vis = [];
4007
4115
  let epochZhd = 0;
@@ -4034,7 +4142,17 @@ var PppEngine = class {
4034
4142
  const pIf = g * o.c1 - (g - 1) * o.c2;
4035
4143
  const lIf = g * (o.l1 * lam1) - (g - 1) * (o.l2 * lam2);
4036
4144
  if (!Number.isFinite(pIf) || !Number.isFinite(lIf)) continue;
4037
- const trop = opts.troposphere ?? true ? niellMapping(elRad, latRad, heightM, epoch.timeMs) : { zhd: 0, mh: 0, mw: 0 };
4145
+ const trop = opts.troposphere ?? true ? opts.troposphereModel ? opts.troposphereModel.delays(
4146
+ epoch.timeMs,
4147
+ latRad,
4148
+ lonRad,
4149
+ heightM,
4150
+ elRad,
4151
+ azRad
4152
+ ) : {
4153
+ ...niellMapping(elRad, latRad, heightM, epoch.timeMs),
4154
+ gradient: 0
4155
+ } : { zhd: 0, mh: 0, mw: 0, gradient: 0 };
4038
4156
  const { zhd, mh, mw } = trop;
4039
4157
  epochZhd = zhd;
4040
4158
  const geom = {
@@ -4059,7 +4177,7 @@ var PppEngine = class {
4059
4177
  lIf,
4060
4178
  satClkM: sat.state.clkM,
4061
4179
  range,
4062
- tropoFixed: zhd * mh + corr.rangeM,
4180
+ tropoFixed: zhd * mh + trop.gradient + corr.rangeM,
4063
4181
  mw,
4064
4182
  windupM: corr.phaseWindupM,
4065
4183
  slip,
@@ -4984,6 +5102,7 @@ function solveSpp(pseudoranges, ephemerides, timeMs, opts = {}) {
4984
5102
  }
4985
5103
  // Annotate the CommonJS export names for ESM import in node:
4986
5104
  0 && (module.exports = {
5105
+ BLQ_CONSTITUENTS,
4987
5106
  IONO_L1_M_PER_TECU,
4988
5107
  PppEngine,
4989
5108
  RtkFloatEngine,
@@ -5011,6 +5130,8 @@ function solveSpp(pseudoranges, ephemerides, timeMs, opts = {}) {
5011
5130
  moonEcef,
5012
5131
  niellMapping,
5013
5132
  nlWavelength,
5133
+ oceanLoadingEnu,
5134
+ parseBlq,
5014
5135
  postProcessRtk,
5015
5136
  rcvAntennaRangeM,
5016
5137
  resolveMsmRanges,
@@ -969,6 +969,36 @@ declare function applyOrbitClock(eph: Ephemeris, corr: OrbitClockCorrection, tim
969
969
  */
970
970
  declare function hasToOrbitClock(orbit: HasOrbitCorrection, clock: HasClockCorrection | undefined, refTimeMs: number, validitySeconds: number | null): OrbitClockCorrection | null;
971
971
 
972
+ /**
973
+ * Ocean tide loading: the crust deforms under the weight of the ocean
974
+ * tides, up to several centimetres vertically near tidal coasts. Given a
975
+ * station's BLQ coefficients (amplitude and phase of 11 tidal constituents
976
+ * for the radial, west and south displacement — the format of Onsala's
977
+ * ocean loading service), the displacement at any instant is the sum of the
978
+ * constituents with their astronomical arguments (IERS ARG.f; the method of
979
+ * RTKLIB's tide_oload, without nodal corrections).
980
+ */
981
+ /** Constituent order of BLQ files. */
982
+ declare const BLQ_CONSTITUENTS: readonly ["M2", "S2", "N2", "K2", "K1", "O1", "P1", "Q1", "Mf", "Mm", "Ssa"];
983
+ /** One station's BLQ coefficients. */
984
+ interface OceanLoadingCoefficients {
985
+ /** Amplitudes (m) [radial, west, south] per constituent (BLQ order). */
986
+ amplitude: [number, number, number][];
987
+ /** Phases (degrees, Greenwich lag) [radial, west, south] per constituent. */
988
+ phase: [number, number, number][];
989
+ }
990
+ /**
991
+ * Ocean loading displacement (m) at `utcMs`, local [East, North, Up].
992
+ * UTC stands in for UT1 (≤ 0.9 s, negligible for tides).
993
+ */
994
+ declare function oceanLoadingEnu(c: OceanLoadingCoefficients, utcMs: number): [number, number, number];
995
+ /**
996
+ * Read the coefficients of every station in a BLQ file (Onsala format:
997
+ * `$$` comments, a station line, then 3 amplitude rows and 3 phase rows of
998
+ * 11 values). Station names are upper-cased, keyed by their first word.
999
+ */
1000
+ declare function parseBlq(text: string): Map<string, OceanLoadingCoefficients>;
1001
+
972
1002
  /**
973
1003
  * Optional PPP range corrections: satellite & receiver antenna phase-centre
974
1004
  * offsets, phase wind-up, and solid-earth tides. These take a converged
@@ -1029,6 +1059,8 @@ interface PppCorrectionConfig {
1029
1059
  rcvPco?: boolean;
1030
1060
  tides?: boolean;
1031
1061
  windup?: boolean;
1062
+ /** The station's ocean tide loading coefficients (BLQ), when known. */
1063
+ oceanLoading?: OceanLoadingCoefficients;
1032
1064
  }
1033
1065
  /** Wire satellite/receiver antenna + tides + wind-up into a PppCorrections. */
1034
1066
  declare function createPppCorrections(cfg: PppCorrectionConfig): PppCorrections;
@@ -1115,6 +1147,10 @@ interface PppOptions {
1115
1147
  ztdProcessNoise?: number;
1116
1148
  /** Model + estimate the troposphere. Default true. */
1117
1149
  troposphere?: boolean;
1150
+ /** A-priori troposphere model (zenith hydrostatic delay, mapping
1151
+ * functions, gradients) — e.g. GPT3 + VMF3 from `gnss-js/troposphere`.
1152
+ * Default: Saastamoinen with the standard atmosphere + Niell. */
1153
+ troposphereModel?: PppTroposphereModel;
1118
1154
  /** Expose the final EKF state (position + ambiguities + covariance) in the
1119
1155
  * solution for ambiguity-resolved positioning. Default false. */
1120
1156
  exposeState?: boolean;
@@ -1155,6 +1191,16 @@ interface PppOptions {
1155
1191
  maxChi2?: number;
1156
1192
  };
1157
1193
  }
1194
+ /** A troposphere model the PPP engine can use (structurally the
1195
+ * `TroposphereModel` of `gnss-js/troposphere`). */
1196
+ interface PppTroposphereModel {
1197
+ delays(utcMs: number, latRad: number, lonRad: number, hEll: number, elRad: number, azRad: number): {
1198
+ zhd: number;
1199
+ mh: number;
1200
+ mw: number;
1201
+ gradient: number;
1202
+ };
1203
+ }
1158
1204
  interface PppEpochResult {
1159
1205
  timeMs: number;
1160
1206
  /** ENU error vs ground truth (m), if truth given. */
@@ -1842,4 +1888,4 @@ declare function sbasProtectionLevels(sats: readonly {
1842
1888
  */
1843
1889
  declare function solveSpp(pseudoranges: Map<string, number>, ephemerides: Map<string, Ephemeris>, timeMs: number, opts?: SppOptions): SppSolution | null;
1844
1890
 
1845
- export { type AntennaOffset, type AppliedOrbitClock, type ArFixedSat, type ArOptions, type ArResult, type ArSat, type CorrectionResult, type Degradation, type DgnssOptions, type DgnssSolution, type EphemerisSource, type FixedPositionResult, IONO_L1_M_PER_TECU, type KlobucharCoeffs, type LambdaResult, type MsmResolveOptions, type NetworkFcbResult, type NetworkFcbSummary, type NlArc, type NlFcbResult, type OrbitClockCorrection, type PppAntennaModel, type PppArc, type PppCorrectionConfig, type PppCorrections, PppEngine, type PppEphemerisSource, type PppEpoch, type PppEpochContext, type PppEpochResult, type PppFixState, type PppOptions, type PppSatObs, type PppSolution, type RawObservation, type ReceiverBias, type ReceiverClockSample, type RtkAntennaConfig, type RtkAntennaModel, type RtkAntennaOffset, type RtkEpochMeasurements, RtkFloatEngine, type RtkFloatOptions, type RtkFloatSolution, type RtkMeasurement, type RtkObsEpoch, type RtkObsInput, type RtkPostProcessOptions, type RtkPostProcessResult, type RtkReceiverAntenna, type RtkTrackPoint, type SatGeom, type SatSample, type SbasCorrectionSource, type SbasIgp, type SbasIonoDelay, SbasProcessor, type SbasSatCorrection, Sp3EphemerisSource, type SppOptions, type SppSolution, type TropoMapping, type WlArc, type WlFcbOptions, type WlFcbResult, type WlObs, ZeroBaselineEngine, type ZeroBaselineOptions, antexFreqOfGroup, applyOrbitClock, buildPppAntenna, buildRtkAntenna, createPppCorrections, estimateNarrowlaneFcb, estimateNetworkFcbs, estimateWidelaneFcb, extractWidelaneArcs, fixPppPosition, gimSlantIonoDelayL1, gimVerticalTec, gmst, hasToOrbitClock, ionoFree, klobucharDelay, lambdaReduction, lambdaSearch, moonEcef, niellMapping, nlWavelength, postProcessRtk, rcvAntennaRangeM, resolveMsmRanges, resolvePppAmbiguities, satClockCorrection, sbasIonoDeg, sbasLongTermDeg, sbasProtectionLevels, solidEarthTide, solveDgnss, solvePpp, solveSpp, sunEcef, toRtkEpoch, wlWavelength };
1891
+ export { type AntennaOffset, type AppliedOrbitClock, type ArFixedSat, type ArOptions, type ArResult, type ArSat, BLQ_CONSTITUENTS, type CorrectionResult, type Degradation, type DgnssOptions, type DgnssSolution, type EphemerisSource, type FixedPositionResult, IONO_L1_M_PER_TECU, type KlobucharCoeffs, type LambdaResult, type MsmResolveOptions, type NetworkFcbResult, type NetworkFcbSummary, type NlArc, type NlFcbResult, type OceanLoadingCoefficients, type OrbitClockCorrection, type PppAntennaModel, type PppArc, type PppCorrectionConfig, type PppCorrections, PppEngine, type PppEphemerisSource, type PppEpoch, type PppEpochContext, type PppEpochResult, type PppFixState, type PppOptions, type PppSatObs, type PppSolution, type PppTroposphereModel, type RawObservation, type ReceiverBias, type ReceiverClockSample, type RtkAntennaConfig, type RtkAntennaModel, type RtkAntennaOffset, type RtkEpochMeasurements, RtkFloatEngine, type RtkFloatOptions, type RtkFloatSolution, type RtkMeasurement, type RtkObsEpoch, type RtkObsInput, type RtkPostProcessOptions, type RtkPostProcessResult, type RtkReceiverAntenna, type RtkTrackPoint, type SatGeom, type SatSample, type SbasCorrectionSource, type SbasIgp, type SbasIonoDelay, SbasProcessor, type SbasSatCorrection, Sp3EphemerisSource, type SppOptions, type SppSolution, type TropoMapping, type WlArc, type WlFcbOptions, type WlFcbResult, type WlObs, ZeroBaselineEngine, type ZeroBaselineOptions, antexFreqOfGroup, applyOrbitClock, buildPppAntenna, buildRtkAntenna, createPppCorrections, estimateNarrowlaneFcb, estimateNetworkFcbs, estimateWidelaneFcb, extractWidelaneArcs, fixPppPosition, gimSlantIonoDelayL1, gimVerticalTec, gmst, hasToOrbitClock, ionoFree, klobucharDelay, lambdaReduction, lambdaSearch, moonEcef, niellMapping, nlWavelength, oceanLoadingEnu, parseBlq, postProcessRtk, rcvAntennaRangeM, resolveMsmRanges, resolvePppAmbiguities, satClockCorrection, sbasIonoDeg, sbasLongTermDeg, sbasProtectionLevels, solidEarthTide, solveDgnss, solvePpp, solveSpp, sunEcef, toRtkEpoch, wlWavelength };
@@ -969,6 +969,36 @@ declare function applyOrbitClock(eph: Ephemeris, corr: OrbitClockCorrection, tim
969
969
  */
970
970
  declare function hasToOrbitClock(orbit: HasOrbitCorrection, clock: HasClockCorrection | undefined, refTimeMs: number, validitySeconds: number | null): OrbitClockCorrection | null;
971
971
 
972
+ /**
973
+ * Ocean tide loading: the crust deforms under the weight of the ocean
974
+ * tides, up to several centimetres vertically near tidal coasts. Given a
975
+ * station's BLQ coefficients (amplitude and phase of 11 tidal constituents
976
+ * for the radial, west and south displacement — the format of Onsala's
977
+ * ocean loading service), the displacement at any instant is the sum of the
978
+ * constituents with their astronomical arguments (IERS ARG.f; the method of
979
+ * RTKLIB's tide_oload, without nodal corrections).
980
+ */
981
+ /** Constituent order of BLQ files. */
982
+ declare const BLQ_CONSTITUENTS: readonly ["M2", "S2", "N2", "K2", "K1", "O1", "P1", "Q1", "Mf", "Mm", "Ssa"];
983
+ /** One station's BLQ coefficients. */
984
+ interface OceanLoadingCoefficients {
985
+ /** Amplitudes (m) [radial, west, south] per constituent (BLQ order). */
986
+ amplitude: [number, number, number][];
987
+ /** Phases (degrees, Greenwich lag) [radial, west, south] per constituent. */
988
+ phase: [number, number, number][];
989
+ }
990
+ /**
991
+ * Ocean loading displacement (m) at `utcMs`, local [East, North, Up].
992
+ * UTC stands in for UT1 (≤ 0.9 s, negligible for tides).
993
+ */
994
+ declare function oceanLoadingEnu(c: OceanLoadingCoefficients, utcMs: number): [number, number, number];
995
+ /**
996
+ * Read the coefficients of every station in a BLQ file (Onsala format:
997
+ * `$$` comments, a station line, then 3 amplitude rows and 3 phase rows of
998
+ * 11 values). Station names are upper-cased, keyed by their first word.
999
+ */
1000
+ declare function parseBlq(text: string): Map<string, OceanLoadingCoefficients>;
1001
+
972
1002
  /**
973
1003
  * Optional PPP range corrections: satellite & receiver antenna phase-centre
974
1004
  * offsets, phase wind-up, and solid-earth tides. These take a converged
@@ -1029,6 +1059,8 @@ interface PppCorrectionConfig {
1029
1059
  rcvPco?: boolean;
1030
1060
  tides?: boolean;
1031
1061
  windup?: boolean;
1062
+ /** The station's ocean tide loading coefficients (BLQ), when known. */
1063
+ oceanLoading?: OceanLoadingCoefficients;
1032
1064
  }
1033
1065
  /** Wire satellite/receiver antenna + tides + wind-up into a PppCorrections. */
1034
1066
  declare function createPppCorrections(cfg: PppCorrectionConfig): PppCorrections;
@@ -1115,6 +1147,10 @@ interface PppOptions {
1115
1147
  ztdProcessNoise?: number;
1116
1148
  /** Model + estimate the troposphere. Default true. */
1117
1149
  troposphere?: boolean;
1150
+ /** A-priori troposphere model (zenith hydrostatic delay, mapping
1151
+ * functions, gradients) — e.g. GPT3 + VMF3 from `gnss-js/troposphere`.
1152
+ * Default: Saastamoinen with the standard atmosphere + Niell. */
1153
+ troposphereModel?: PppTroposphereModel;
1118
1154
  /** Expose the final EKF state (position + ambiguities + covariance) in the
1119
1155
  * solution for ambiguity-resolved positioning. Default false. */
1120
1156
  exposeState?: boolean;
@@ -1155,6 +1191,16 @@ interface PppOptions {
1155
1191
  maxChi2?: number;
1156
1192
  };
1157
1193
  }
1194
+ /** A troposphere model the PPP engine can use (structurally the
1195
+ * `TroposphereModel` of `gnss-js/troposphere`). */
1196
+ interface PppTroposphereModel {
1197
+ delays(utcMs: number, latRad: number, lonRad: number, hEll: number, elRad: number, azRad: number): {
1198
+ zhd: number;
1199
+ mh: number;
1200
+ mw: number;
1201
+ gradient: number;
1202
+ };
1203
+ }
1158
1204
  interface PppEpochResult {
1159
1205
  timeMs: number;
1160
1206
  /** ENU error vs ground truth (m), if truth given. */
@@ -1842,4 +1888,4 @@ declare function sbasProtectionLevels(sats: readonly {
1842
1888
  */
1843
1889
  declare function solveSpp(pseudoranges: Map<string, number>, ephemerides: Map<string, Ephemeris>, timeMs: number, opts?: SppOptions): SppSolution | null;
1844
1890
 
1845
- export { type AntennaOffset, type AppliedOrbitClock, type ArFixedSat, type ArOptions, type ArResult, type ArSat, type CorrectionResult, type Degradation, type DgnssOptions, type DgnssSolution, type EphemerisSource, type FixedPositionResult, IONO_L1_M_PER_TECU, type KlobucharCoeffs, type LambdaResult, type MsmResolveOptions, type NetworkFcbResult, type NetworkFcbSummary, type NlArc, type NlFcbResult, type OrbitClockCorrection, type PppAntennaModel, type PppArc, type PppCorrectionConfig, type PppCorrections, PppEngine, type PppEphemerisSource, type PppEpoch, type PppEpochContext, type PppEpochResult, type PppFixState, type PppOptions, type PppSatObs, type PppSolution, type RawObservation, type ReceiverBias, type ReceiverClockSample, type RtkAntennaConfig, type RtkAntennaModel, type RtkAntennaOffset, type RtkEpochMeasurements, RtkFloatEngine, type RtkFloatOptions, type RtkFloatSolution, type RtkMeasurement, type RtkObsEpoch, type RtkObsInput, type RtkPostProcessOptions, type RtkPostProcessResult, type RtkReceiverAntenna, type RtkTrackPoint, type SatGeom, type SatSample, type SbasCorrectionSource, type SbasIgp, type SbasIonoDelay, SbasProcessor, type SbasSatCorrection, Sp3EphemerisSource, type SppOptions, type SppSolution, type TropoMapping, type WlArc, type WlFcbOptions, type WlFcbResult, type WlObs, ZeroBaselineEngine, type ZeroBaselineOptions, antexFreqOfGroup, applyOrbitClock, buildPppAntenna, buildRtkAntenna, createPppCorrections, estimateNarrowlaneFcb, estimateNetworkFcbs, estimateWidelaneFcb, extractWidelaneArcs, fixPppPosition, gimSlantIonoDelayL1, gimVerticalTec, gmst, hasToOrbitClock, ionoFree, klobucharDelay, lambdaReduction, lambdaSearch, moonEcef, niellMapping, nlWavelength, postProcessRtk, rcvAntennaRangeM, resolveMsmRanges, resolvePppAmbiguities, satClockCorrection, sbasIonoDeg, sbasLongTermDeg, sbasProtectionLevels, solidEarthTide, solveDgnss, solvePpp, solveSpp, sunEcef, toRtkEpoch, wlWavelength };
1891
+ export { type AntennaOffset, type AppliedOrbitClock, type ArFixedSat, type ArOptions, type ArResult, type ArSat, BLQ_CONSTITUENTS, type CorrectionResult, type Degradation, type DgnssOptions, type DgnssSolution, type EphemerisSource, type FixedPositionResult, IONO_L1_M_PER_TECU, type KlobucharCoeffs, type LambdaResult, type MsmResolveOptions, type NetworkFcbResult, type NetworkFcbSummary, type NlArc, type NlFcbResult, type OceanLoadingCoefficients, type OrbitClockCorrection, type PppAntennaModel, type PppArc, type PppCorrectionConfig, type PppCorrections, PppEngine, type PppEphemerisSource, type PppEpoch, type PppEpochContext, type PppEpochResult, type PppFixState, type PppOptions, type PppSatObs, type PppSolution, type PppTroposphereModel, type RawObservation, type ReceiverBias, type ReceiverClockSample, type RtkAntennaConfig, type RtkAntennaModel, type RtkAntennaOffset, type RtkEpochMeasurements, RtkFloatEngine, type RtkFloatOptions, type RtkFloatSolution, type RtkMeasurement, type RtkObsEpoch, type RtkObsInput, type RtkPostProcessOptions, type RtkPostProcessResult, type RtkReceiverAntenna, type RtkTrackPoint, type SatGeom, type SatSample, type SbasCorrectionSource, type SbasIgp, type SbasIonoDelay, SbasProcessor, type SbasSatCorrection, Sp3EphemerisSource, type SppOptions, type SppSolution, type TropoMapping, type WlArc, type WlFcbOptions, type WlFcbResult, type WlObs, ZeroBaselineEngine, type ZeroBaselineOptions, antexFreqOfGroup, applyOrbitClock, buildPppAntenna, buildRtkAntenna, createPppCorrections, estimateNarrowlaneFcb, estimateNetworkFcbs, estimateWidelaneFcb, extractWidelaneArcs, fixPppPosition, gimSlantIonoDelayL1, gimVerticalTec, gmst, hasToOrbitClock, ionoFree, klobucharDelay, lambdaReduction, lambdaSearch, moonEcef, niellMapping, nlWavelength, oceanLoadingEnu, parseBlq, postProcessRtk, rcvAntennaRangeM, resolveMsmRanges, resolvePppAmbiguities, satClockCorrection, sbasIonoDeg, sbasLongTermDeg, sbasProtectionLevels, solidEarthTide, solveDgnss, solvePpp, solveSpp, sunEcef, toRtkEpoch, wlWavelength };
@@ -1,4 +1,5 @@
1
1
  import {
2
+ BLQ_CONSTITUENTS,
2
3
  IONO_L1_M_PER_TECU,
3
4
  PppEngine,
4
5
  RtkFloatEngine,
@@ -26,6 +27,8 @@ import {
26
27
  moonEcef,
27
28
  niellMapping,
28
29
  nlWavelength,
30
+ oceanLoadingEnu,
31
+ parseBlq,
29
32
  postProcessRtk,
30
33
  rcvAntennaRangeM,
31
34
  resolveMsmRanges,
@@ -41,7 +44,7 @@ import {
41
44
  sunEcef,
42
45
  toRtkEpoch,
43
46
  wlWavelength
44
- } from "./chunk-PQLPPFIK.js";
47
+ } from "./chunk-TETPRPZ2.js";
45
48
  import "./chunk-H3AKFD25.js";
46
49
  import "./chunk-7T5DLVZL.js";
47
50
  import "./chunk-HVXYFUCB.js";
@@ -54,6 +57,7 @@ import "./chunk-HUXQABJI.js";
54
57
  import "./chunk-V2D5KUKH.js";
55
58
  import "./chunk-FIEWO4J4.js";
56
59
  export {
60
+ BLQ_CONSTITUENTS,
57
61
  IONO_L1_M_PER_TECU,
58
62
  PppEngine,
59
63
  RtkFloatEngine,
@@ -81,6 +85,8 @@ export {
81
85
  moonEcef,
82
86
  niellMapping,
83
87
  nlWavelength,
88
+ oceanLoadingEnu,
89
+ parseBlq,
84
90
  postProcessRtk,
85
91
  rcvAntennaRangeM,
86
92
  resolveMsmRanges,