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.
@@ -0,0 +1,78 @@
1
+ /** Parameters per grid cell, each [mean, A1, B1, A2, B2] (cos/sin annual,
2
+ * cos/sin semi-annual), except the two constants. */
3
+ interface Gpt3Grid {
4
+ /** Cell centres are at 2.5°, 7.5°… ; 36 × 72 cells, row-major from the
5
+ * north pole (polar distance) then longitude 0…360°. */
6
+ p: Float64Array;
7
+ T: Float64Array;
8
+ Q: Float64Array;
9
+ dT: Float64Array;
10
+ undu: Float64Array;
11
+ Hs: Float64Array;
12
+ ah: Float64Array;
13
+ aw: Float64Array;
14
+ la: Float64Array;
15
+ Tm: Float64Array;
16
+ Gn_h: Float64Array;
17
+ Ge_h: Float64Array;
18
+ Gn_w: Float64Array;
19
+ Ge_w: Float64Array;
20
+ }
21
+ /** Parse TU Wien's gpt3_5.grd (text: a header line, then one row per cell). */
22
+ declare function parseGpt3Grid(text: string): Gpt3Grid;
23
+ interface Gpt3Result {
24
+ /** Pressure (hPa), temperature (°C), lapse rate (K/km), water vapour
25
+ * pressure (hPa), mean temperature (K), water-vapour decrease factor. */
26
+ p: number;
27
+ T: number;
28
+ dT: number;
29
+ e: number;
30
+ Tm: number;
31
+ la: number;
32
+ /** VMF3 a coefficients. */
33
+ ah: number;
34
+ aw: number;
35
+ /** Geoid undulation (m). */
36
+ undu: number;
37
+ /** Hydrostatic / wet gradients north/east (m). */
38
+ Gn_h: number;
39
+ Ge_h: number;
40
+ Gn_w: number;
41
+ Ge_w: number;
42
+ }
43
+ /**
44
+ * GPT3 at a station (latitude/longitude in radians, ellipsoidal height m)
45
+ * and instant, with bilinear interpolation between the four nearest cells
46
+ * (Landskron & Böhm 2018; TU Wien gpt3_5_fast).
47
+ */
48
+ declare function gpt3(grid: Gpt3Grid, utcMs: number, latRad: number, lonRad: number, hEll: number): Gpt3Result;
49
+ /**
50
+ * VMF3 hydrostatic and wet mapping functions at an elevation, from the
51
+ * a coefficients (e.g. GPT3's) and the empirical b, c; the hydrostatic one
52
+ * with the Niell height correction (TU Wien vmf3_ht).
53
+ */
54
+ declare function vmf3(ah: number, aw: number, utcMs: number, latRad: number, lonRad: number, hEll: number, elRad: number): {
55
+ mfh: number;
56
+ mfw: number;
57
+ };
58
+ /** Saastamoinen zenith hydrostatic delay (m) from pressure (hPa). */
59
+ declare function saastamoinenZhd(pHpa: number, latRad: number, hEll: number): number;
60
+ /** What the PPP engine needs from a troposphere model at one satellite. */
61
+ interface TroposphereModel {
62
+ delays(utcMs: number, latRad: number, lonRad: number, hEll: number, elRad: number, azRad: number): {
63
+ /** A-priori zenith hydrostatic delay (m). */
64
+ zhd: number;
65
+ /** Hydrostatic / wet mapping factors. */
66
+ mh: number;
67
+ mw: number;
68
+ /** A-priori slant delay from horizontal gradients (m). */
69
+ gradient: number;
70
+ };
71
+ }
72
+ /**
73
+ * GPT3 + VMF3 troposphere for PPP. GPT3 is evaluated once per station-day
74
+ * position and cached (it changes slowly).
75
+ */
76
+ declare function createGpt3Troposphere(grid: Gpt3Grid): TroposphereModel;
77
+
78
+ export { type Gpt3Grid, type Gpt3Result, type TroposphereModel, createGpt3Troposphere, gpt3, parseGpt3Grid, saastamoinenZhd, vmf3 };
@@ -0,0 +1,78 @@
1
+ /** Parameters per grid cell, each [mean, A1, B1, A2, B2] (cos/sin annual,
2
+ * cos/sin semi-annual), except the two constants. */
3
+ interface Gpt3Grid {
4
+ /** Cell centres are at 2.5°, 7.5°… ; 36 × 72 cells, row-major from the
5
+ * north pole (polar distance) then longitude 0…360°. */
6
+ p: Float64Array;
7
+ T: Float64Array;
8
+ Q: Float64Array;
9
+ dT: Float64Array;
10
+ undu: Float64Array;
11
+ Hs: Float64Array;
12
+ ah: Float64Array;
13
+ aw: Float64Array;
14
+ la: Float64Array;
15
+ Tm: Float64Array;
16
+ Gn_h: Float64Array;
17
+ Ge_h: Float64Array;
18
+ Gn_w: Float64Array;
19
+ Ge_w: Float64Array;
20
+ }
21
+ /** Parse TU Wien's gpt3_5.grd (text: a header line, then one row per cell). */
22
+ declare function parseGpt3Grid(text: string): Gpt3Grid;
23
+ interface Gpt3Result {
24
+ /** Pressure (hPa), temperature (°C), lapse rate (K/km), water vapour
25
+ * pressure (hPa), mean temperature (K), water-vapour decrease factor. */
26
+ p: number;
27
+ T: number;
28
+ dT: number;
29
+ e: number;
30
+ Tm: number;
31
+ la: number;
32
+ /** VMF3 a coefficients. */
33
+ ah: number;
34
+ aw: number;
35
+ /** Geoid undulation (m). */
36
+ undu: number;
37
+ /** Hydrostatic / wet gradients north/east (m). */
38
+ Gn_h: number;
39
+ Ge_h: number;
40
+ Gn_w: number;
41
+ Ge_w: number;
42
+ }
43
+ /**
44
+ * GPT3 at a station (latitude/longitude in radians, ellipsoidal height m)
45
+ * and instant, with bilinear interpolation between the four nearest cells
46
+ * (Landskron & Böhm 2018; TU Wien gpt3_5_fast).
47
+ */
48
+ declare function gpt3(grid: Gpt3Grid, utcMs: number, latRad: number, lonRad: number, hEll: number): Gpt3Result;
49
+ /**
50
+ * VMF3 hydrostatic and wet mapping functions at an elevation, from the
51
+ * a coefficients (e.g. GPT3's) and the empirical b, c; the hydrostatic one
52
+ * with the Niell height correction (TU Wien vmf3_ht).
53
+ */
54
+ declare function vmf3(ah: number, aw: number, utcMs: number, latRad: number, lonRad: number, hEll: number, elRad: number): {
55
+ mfh: number;
56
+ mfw: number;
57
+ };
58
+ /** Saastamoinen zenith hydrostatic delay (m) from pressure (hPa). */
59
+ declare function saastamoinenZhd(pHpa: number, latRad: number, hEll: number): number;
60
+ /** What the PPP engine needs from a troposphere model at one satellite. */
61
+ interface TroposphereModel {
62
+ delays(utcMs: number, latRad: number, lonRad: number, hEll: number, elRad: number, azRad: number): {
63
+ /** A-priori zenith hydrostatic delay (m). */
64
+ zhd: number;
65
+ /** Hydrostatic / wet mapping factors. */
66
+ mh: number;
67
+ mw: number;
68
+ /** A-priori slant delay from horizontal gradients (m). */
69
+ gradient: number;
70
+ };
71
+ }
72
+ /**
73
+ * GPT3 + VMF3 troposphere for PPP. GPT3 is evaluated once per station-day
74
+ * position and cached (it changes slowly).
75
+ */
76
+ declare function createGpt3Troposphere(grid: Gpt3Grid): TroposphereModel;
77
+
78
+ export { type Gpt3Grid, type Gpt3Result, type TroposphereModel, createGpt3Troposphere, gpt3, parseGpt3Grid, saastamoinenZhd, vmf3 };