@idm-plugin/meteo2 0.7.3 → 0.7.5
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.js +34 -33
- package/dist/index.umd.cjs +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -378,7 +378,7 @@ var n0 = { exports: {} };
|
|
|
378
378
|
return this.offsets[this._index(O)];
|
|
379
379
|
}
|
|
380
380
|
};
|
|
381
|
-
function
|
|
381
|
+
function m(O, a) {
|
|
382
382
|
this.name = O, this.zones = a;
|
|
383
383
|
}
|
|
384
384
|
function E(O) {
|
|
@@ -412,7 +412,7 @@ var n0 = { exports: {} };
|
|
|
412
412
|
for (e(a), n = 0; n < a.length; n++)
|
|
413
413
|
R = a[n], A[R] = A[R] || {}, A[R][O] = !0;
|
|
414
414
|
}
|
|
415
|
-
function
|
|
415
|
+
function P(O) {
|
|
416
416
|
var a = O.length, n = {}, R = [], t = {}, U, G, V, I;
|
|
417
417
|
for (U = 0; U < a; U++)
|
|
418
418
|
if (V = O[U].offset, !t.hasOwnProperty(V)) {
|
|
@@ -436,7 +436,7 @@ var n0 = { exports: {} };
|
|
|
436
436
|
}
|
|
437
437
|
} catch {
|
|
438
438
|
}
|
|
439
|
-
var n = h(), R = n.length, t =
|
|
439
|
+
var n = h(), R = n.length, t = P(n), U = [], G, V, I;
|
|
440
440
|
for (V = 0; V < t.length; V++) {
|
|
441
441
|
for (G = new C(y(t[V])), I = 0; I < R; I++)
|
|
442
442
|
G.scoreOffsetAt(n[I]);
|
|
@@ -478,7 +478,7 @@ var n0 = { exports: {} };
|
|
|
478
478
|
var a, n, R, t;
|
|
479
479
|
if (!(!O || !O.length))
|
|
480
480
|
for (a = 0; a < O.length; a++)
|
|
481
|
-
t = O[a].split("|"), n = t[0].toUpperCase(), R = t[1].split(" "), c[n] = new
|
|
481
|
+
t = O[a].split("|"), n = t[0].toUpperCase(), R = t[1].split(" "), c[n] = new m(
|
|
482
482
|
n,
|
|
483
483
|
R
|
|
484
484
|
);
|
|
@@ -1536,14 +1536,14 @@ class J0 {
|
|
|
1536
1536
|
if (M.start_dates instanceof Array)
|
|
1537
1537
|
for (let S = 0; S < M.start_dates.length; S++) {
|
|
1538
1538
|
M.start_date = M.start_dates[S], M.end_date = M.end_dates[S], M.fake = M.fakes[S];
|
|
1539
|
-
const
|
|
1540
|
-
this.debug && K.debug("[%s] fetch marine via %s with %j", z.requestId,
|
|
1539
|
+
const m = M.url[S];
|
|
1540
|
+
this.debug && K.debug("[%s] fetch marine via %s with %j", z.requestId, m, {
|
|
1541
1541
|
start_date: M.start_date,
|
|
1542
1542
|
end_date: M.end_date,
|
|
1543
1543
|
fake: M.fake,
|
|
1544
1544
|
step: S
|
|
1545
1545
|
});
|
|
1546
|
-
const E = await z0(
|
|
1546
|
+
const E = await z0(m, M), C = await this.parseWeatherData(E, M, z);
|
|
1547
1547
|
q ? await this.mergeSegments(q, C) : q = C;
|
|
1548
1548
|
}
|
|
1549
1549
|
else {
|
|
@@ -1570,15 +1570,15 @@ class J0 {
|
|
|
1570
1570
|
var W, A, o, d, Y, X, q, f, e, r;
|
|
1571
1571
|
const p = [], c = Math.pow(10, b.precision || 6);
|
|
1572
1572
|
for (let N = 0; N < M.length; N++) {
|
|
1573
|
-
const u = M[N], B = u.utcOffsetSeconds(), S = u.timezone(),
|
|
1574
|
-
if (h.timezone = S || void 0, h.offset = this.prettyTimezoneOffset(B), h.model = z.models instanceof Array ? (W = z.models) == null ? void 0 : W[N] : z.models || "best_match",
|
|
1573
|
+
const u = M[N], B = u.utcOffsetSeconds(), S = u.timezone(), m = u.current(), E = u.hourly(), C = u.sixHourly(), H = u.daily(), h = {};
|
|
1574
|
+
if (h.timezone = S || void 0, h.offset = this.prettyTimezoneOffset(B), h.model = z.models instanceof Array ? (W = z.models) == null ? void 0 : W[N] : z.models || "best_match", m) {
|
|
1575
1575
|
const g = L();
|
|
1576
1576
|
h.current = {
|
|
1577
|
-
time: L.unix(Number(
|
|
1577
|
+
time: L.unix(Number(m.time())).utc().format()
|
|
1578
1578
|
};
|
|
1579
|
-
for (let
|
|
1580
|
-
const Z =
|
|
1581
|
-
h.current[z.current[
|
|
1579
|
+
for (let P = 0; P < m.variablesLength(); P++) {
|
|
1580
|
+
const Z = m.variables(P).value();
|
|
1581
|
+
h.current[z.current[P]] = isNaN(Z) ? null : Math.round(Z * c) / c;
|
|
1582
1582
|
}
|
|
1583
1583
|
const D = L();
|
|
1584
1584
|
this.debug && K.debug("[%s] fetch current variables cost: %d ms", b.requestId, D.diff(g, "ms"));
|
|
@@ -1595,8 +1595,8 @@ class J0 {
|
|
|
1595
1595
|
const k = (d = (o = (A = E.variables(Z).valuesArray()) == null ? void 0 : A.toString()) == null ? void 0 : o.split(",")) == null ? void 0 : d.map((_) => isNaN(_) ? null : Math.round(Number(_) * c) / c);
|
|
1596
1596
|
h.hourly[z.hourly[Z]] = k;
|
|
1597
1597
|
}
|
|
1598
|
-
const
|
|
1599
|
-
this.debug && K.debug("[%s] fetch hourly variables cost: %d ms", b.requestId,
|
|
1598
|
+
const P = L();
|
|
1599
|
+
this.debug && K.debug("[%s] fetch hourly variables cost: %d ms", b.requestId, P.diff(g, "ms"));
|
|
1600
1600
|
}
|
|
1601
1601
|
if (C) {
|
|
1602
1602
|
const g = L(), D = L.unix(Number(C.time())).add(z.fake ? 1 : 0, "year");
|
|
@@ -1610,19 +1610,19 @@ class J0 {
|
|
|
1610
1610
|
const k = (q = (X = (Y = C.variables(Z).valuesArray()) == null ? void 0 : Y.toString()) == null ? void 0 : X.split(",")) == null ? void 0 : q.map((_) => isNaN(_) ? null : Math.round(Number(_) * c) / c);
|
|
1611
1611
|
C.variables(Z), h.sixHourly[z.six_hourly[Z / (b.memberLength ?? 1)]] = k;
|
|
1612
1612
|
}
|
|
1613
|
-
const
|
|
1614
|
-
this.debug && K.debug("[%s] fetch 6-hourly variables cost: %d ms", b.requestId,
|
|
1613
|
+
const P = L();
|
|
1614
|
+
this.debug && K.debug("[%s] fetch 6-hourly variables cost: %d ms", b.requestId, P.diff(g, "ms"));
|
|
1615
1615
|
}
|
|
1616
1616
|
if (H) {
|
|
1617
1617
|
const g = L();
|
|
1618
1618
|
h.daily = {
|
|
1619
1619
|
time: this.range(Number(H.time()), Number(H.timeEnd()), H.interval()).map(
|
|
1620
|
-
(
|
|
1620
|
+
(P) => L.unix(P).add(z.fake ? 1 : 0, "year").utc().format()
|
|
1621
1621
|
)
|
|
1622
1622
|
};
|
|
1623
|
-
for (let
|
|
1624
|
-
const Z = (r = (e = (f = H.variables(
|
|
1625
|
-
h.daily[z.daily[
|
|
1623
|
+
for (let P = 0; P < H.variablesLength(); P += b.memberLength ?? 1) {
|
|
1624
|
+
const Z = (r = (e = (f = H.variables(P).valuesArray()) == null ? void 0 : f.toString()) == null ? void 0 : e.split(",")) == null ? void 0 : r.map((k) => isNaN(k) ? null : Math.round(Number(k) * c) / c);
|
|
1625
|
+
h.daily[z.daily[P / (b.memberLength ?? 1)]] = Z;
|
|
1626
1626
|
}
|
|
1627
1627
|
const D = L();
|
|
1628
1628
|
this.debug && K.debug("[%s] fetch daily variables cost: %d ms", b.requestId, D.diff(g, "ms"));
|
|
@@ -1791,7 +1791,7 @@ class J0 {
|
|
|
1791
1791
|
};
|
|
1792
1792
|
c && (q.daily = this.FORECAST.MARINE_VARIABLES.DAILY.split(",")), d || (A.forecastDays = A.forecastDays || 1, W = !0), W && (q.hourly = this.FORECAST.MARINE_VARIABLES.HOURLY.split(",")), await this.prepare(d == null ? void 0 : d.utc().format(), !0, q, A);
|
|
1793
1793
|
let f = await this.marineForecast(q, A);
|
|
1794
|
-
return (S = (B = (u = f[0]) == null ? void 0 : u.hourly) == null ? void 0 : B.wave_height) != null && S.every((
|
|
1794
|
+
return (S = (B = (u = f[0]) == null ? void 0 : u.hourly) == null ? void 0 : B.wave_height) != null && S.every((m) => m === null || m === 0) && (q.models = this.pickMarineModels("best_match,ncep_gfswave025,meteofrance_wave"), f = await this.marineForecast(q, A)), { weather: X, marine: f };
|
|
1795
1795
|
}
|
|
1796
1796
|
/**
|
|
1797
1797
|
* 历史再分析数据
|
|
@@ -1941,7 +1941,7 @@ class J0 {
|
|
|
1941
1941
|
const o = A.data, d = M0.standardWeatherModels();
|
|
1942
1942
|
for (const Y of d) {
|
|
1943
1943
|
const X = M0.autoPickSubCategories(Y.alias), f = o.filter((e) => X.includes(e.category)).map((e) => {
|
|
1944
|
-
var r, N, u, B, S,
|
|
1944
|
+
var r, N, u, B, S, m;
|
|
1945
1945
|
return {
|
|
1946
1946
|
category: e.category,
|
|
1947
1947
|
meta: {
|
|
@@ -1950,7 +1950,7 @@ class J0 {
|
|
|
1950
1950
|
initialisationTime: L.unix((u = e.meta) == null ? void 0 : u.last_run_initialisation_time).utc().format(),
|
|
1951
1951
|
modificationTime: L.unix((B = e.meta) == null ? void 0 : B.last_run_modification_time).utc().format(),
|
|
1952
1952
|
temporalResolution: Math.round(((S = e.meta) == null ? void 0 : S.temporal_resolution_seconds) / 3600),
|
|
1953
|
-
frequency: Math.round(((
|
|
1953
|
+
frequency: Math.round(((m = e.meta) == null ? void 0 : m.update_interval_seconds) / 3600)
|
|
1954
1954
|
}
|
|
1955
1955
|
};
|
|
1956
1956
|
});
|
|
@@ -2120,9 +2120,10 @@ class $ {
|
|
|
2120
2120
|
});
|
|
2121
2121
|
}
|
|
2122
2122
|
static async parseTropical(M) {
|
|
2123
|
+
var W;
|
|
2123
2124
|
const { id: z, name: b, strength: p } = M, c = {
|
|
2124
2125
|
id: z == null ? void 0 : z.toLowerCase(),
|
|
2125
|
-
name: b == null ? void 0 : b.toLowerCase(),
|
|
2126
|
+
name: (W = b == null ? void 0 : b.toLowerCase()) == null ? void 0 : W.replaceAll(/\s/g, "-"),
|
|
2126
2127
|
strength: p,
|
|
2127
2128
|
history: await $.parseHistory(M.history),
|
|
2128
2129
|
forecasts: await $.parseForecast(M.forecast)
|
|
@@ -2142,7 +2143,7 @@ const J = class J {
|
|
|
2142
2143
|
static async parseHistory(M) {
|
|
2143
2144
|
const z = `https://hifleet.com/hifleetapi/gettyphooninfo2.do?xuhao=${M}`, b = await Q.post(z).text(), p = await J.parser.parseStringPromise(b), c = p.typhoon.position instanceof Array ? p.typhoon.position : [p.typhoon.position], W = [];
|
|
2144
2145
|
for (const A of c) {
|
|
2145
|
-
const o = L(A.updatetime).utcOffset(8).utc().format(), d = Number(A.lat), Y = Number(A.lon), X = Number(A.pressure), q = Number(A.windspeed * 3600 / 1852), f = T.parseWindCircle(A.c7quad1 / 1.852), e = T.parseWindCircle(A.c7quad2 / 1.852), r = T.parseWindCircle(A.c7quad3 / 1.852), N = T.parseWindCircle(A.c7quad4 / 1.852), u = T.parseWindCircle(A.c10quad1 / 1.852), B = T.parseWindCircle(A.c10quad2 / 1.852), S = T.parseWindCircle(A.c10quad3 / 1.852),
|
|
2146
|
+
const o = L(A.updatetime).utcOffset(8).utc().format(), d = Number(A.lat), Y = Number(A.lon), X = Number(A.pressure), q = Number(A.windspeed * 3600 / 1852), f = T.parseWindCircle(A.c7quad1 / 1.852), e = T.parseWindCircle(A.c7quad2 / 1.852), r = T.parseWindCircle(A.c7quad3 / 1.852), N = T.parseWindCircle(A.c7quad4 / 1.852), u = T.parseWindCircle(A.c10quad1 / 1.852), B = T.parseWindCircle(A.c10quad2 / 1.852), S = T.parseWindCircle(A.c10quad3 / 1.852), m = T.parseWindCircle(A.c10quad4 / 1.852), E = T.parseWindCircle(A.c12quad1 / 1.852), C = T.parseWindCircle(A.c12quad2 / 1.852), H = T.parseWindCircle(A.c12quad3 / 1.852), h = T.parseWindCircle(A.c12quad4 / 1.852), { r7: g, r10: D, r12: P } = T.estimateWindRadii(q, X, d), Z = {
|
|
2146
2147
|
updated: o,
|
|
2147
2148
|
lat: isNaN(d) ? null : d,
|
|
2148
2149
|
lng: isNaN(Y) ? null : Y,
|
|
@@ -2159,8 +2160,8 @@ const J = class J {
|
|
|
2159
2160
|
r10ne: u,
|
|
2160
2161
|
r10nw: B,
|
|
2161
2162
|
r10sw: S,
|
|
2162
|
-
r10se:
|
|
2163
|
-
r12:
|
|
2163
|
+
r10se: m,
|
|
2164
|
+
r12: P,
|
|
2164
2165
|
r12ne: E,
|
|
2165
2166
|
r12nw: C,
|
|
2166
2167
|
r12sw: H,
|
|
@@ -2250,7 +2251,7 @@ let b0 = J;
|
|
|
2250
2251
|
class j {
|
|
2251
2252
|
static async parseHistory(M) {
|
|
2252
2253
|
return M.map((z) => {
|
|
2253
|
-
const b = Number(z.lat), p = Number(z.lon), c = Number(z.maxSP * 3600 / 1852), W = Number(z.minP), A = T.parseWindCircle(z.r7Ne / 1.852), o = T.parseWindCircle(z.r7Nw / 1.852), d = T.parseWindCircle(z.r7Se / 1.852), Y = T.parseWindCircle(z.r7Sw / 1.852), X = T.parseWindCircle(z.r10Ne / 1.852), q = T.parseWindCircle(z.r10Nw / 1.852), f = T.parseWindCircle(z.r10Se / 1.852), e = T.parseWindCircle(z.r10Sw / 1.852), r = T.parseWindCircle(z.r12Ne / 1.852), N = T.parseWindCircle(z.r12Nw / 1.852), u = T.parseWindCircle(z.r12Se / 1.852), B = T.parseWindCircle(z.r12Sw / 1.852), { r7: S, r10:
|
|
2254
|
+
const b = Number(z.lat), p = Number(z.lon), c = Number(z.maxSP * 3600 / 1852), W = Number(z.minP), A = T.parseWindCircle(z.r7Ne / 1.852), o = T.parseWindCircle(z.r7Nw / 1.852), d = T.parseWindCircle(z.r7Se / 1.852), Y = T.parseWindCircle(z.r7Sw / 1.852), X = T.parseWindCircle(z.r10Ne / 1.852), q = T.parseWindCircle(z.r10Nw / 1.852), f = T.parseWindCircle(z.r10Se / 1.852), e = T.parseWindCircle(z.r10Sw / 1.852), r = T.parseWindCircle(z.r12Ne / 1.852), N = T.parseWindCircle(z.r12Nw / 1.852), u = T.parseWindCircle(z.r12Se / 1.852), B = T.parseWindCircle(z.r12Sw / 1.852), { r7: S, r10: m, r12: E } = T.estimateWindRadii(c, W, b);
|
|
2254
2255
|
return {
|
|
2255
2256
|
updated: L.utc(z.realTime).format(),
|
|
2256
2257
|
lat: isNaN(b) ? null : b || null,
|
|
@@ -2263,7 +2264,7 @@ class j {
|
|
|
2263
2264
|
r7nw: o,
|
|
2264
2265
|
r7se: d,
|
|
2265
2266
|
r7sw: Y,
|
|
2266
|
-
r10:
|
|
2267
|
+
r10: m,
|
|
2267
2268
|
r10ne: X,
|
|
2268
2269
|
r10nw: q,
|
|
2269
2270
|
r10se: f,
|
|
@@ -2281,7 +2282,7 @@ class j {
|
|
|
2281
2282
|
return M.map((z) => {
|
|
2282
2283
|
const b = z.currentPosition, p = z.forecastPoints, c = L.utc(b.realTime).format(), W = {};
|
|
2283
2284
|
return p.forEach((A) => {
|
|
2284
|
-
const o = L.utc(A.forecastTime), d = o.diff(c, "hour"), Y = Math.round(A.maxSP * 3600 / 1852), X = Math.round(A.maxSP * 3600 / 1852), q = A.pressure, f = T.parseWindCircle(A.r7Ne / 1.852), e = T.parseWindCircle(A.r7Nw / 1.852), r = T.parseWindCircle(A.r7Sw / 1.852), N = T.parseWindCircle(A.r7Se / 1.852), u = T.parseWindCircle(A.r10Ne / 1.852), B = T.parseWindCircle(A.r10Nw / 1.852), S = T.parseWindCircle(A.r10Sw / 1.852),
|
|
2285
|
+
const o = L.utc(A.forecastTime), d = o.diff(c, "hour"), Y = Math.round(A.maxSP * 3600 / 1852), X = Math.round(A.maxSP * 3600 / 1852), q = A.pressure, f = T.parseWindCircle(A.r7Ne / 1.852), e = T.parseWindCircle(A.r7Nw / 1.852), r = T.parseWindCircle(A.r7Sw / 1.852), N = T.parseWindCircle(A.r7Se / 1.852), u = T.parseWindCircle(A.r10Ne / 1.852), B = T.parseWindCircle(A.r10Nw / 1.852), S = T.parseWindCircle(A.r10Sw / 1.852), m = T.parseWindCircle(A.r10Se / 1.852), E = T.parseWindCircle(A.r12Ne / 1.852), C = T.parseWindCircle(A.r12Nw / 1.852), H = T.parseWindCircle(A.r12Sw / 1.852), h = T.parseWindCircle(A.r12Se / 1.852), { r7: g, r10: D, r12: P } = T.estimateWindRadii(Y, q, A.lat);
|
|
2285
2286
|
W[d] = {
|
|
2286
2287
|
lat: A.lat,
|
|
2287
2288
|
lng: A.lon,
|
|
@@ -2300,8 +2301,8 @@ class j {
|
|
|
2300
2301
|
r10ne: u,
|
|
2301
2302
|
r10nw: B,
|
|
2302
2303
|
r10sw: S,
|
|
2303
|
-
r10se:
|
|
2304
|
-
r12:
|
|
2304
|
+
r10se: m,
|
|
2305
|
+
r12: P,
|
|
2305
2306
|
r12ne: E,
|
|
2306
2307
|
r12nw: C,
|
|
2307
2308
|
r12sw: H,
|