@azohra/meteo.grib

中文文档
0.1.4发布于 2026/08/21MITTypeScriptES Module近 30 天下载 5148

GRIB2在纯类型Script中的解码器:分节解析,多字段消息,网格几何与O(1)最接近的网格点取出(正则,旋转,和Lambert相向网格),简单而复杂的包装,JPEG 2000通过注入解码器,和NOMADS.idx范围

中文使用文档

@azohra/meteo.grib

纯 TypeScript 中的 GRIB2 解码器, 因为预测引擎需要编写 网格模板3.1(旋转经纬度:每个ECCCHRDPS,RDPS, REPS,以及 RAQDPS 字段)和多场消息(NCEP的配对U/V) 子消息),并且没有维护的JavaScript解码器也提供. 浏览器安全核心没有I/O; JPEG 2000 和工人池 仅生活在节点 @azohra/meteo.grib/j2k-node 子路径.

pnpm add @azohra/meteo.grib

解码真实字段

此解码一个承诺的HRDPS 2 m 温度场(旋转网格, JPEG 2000包装,促使包装的组合)和 一次发射样本:

// decode-fixture.mjs — run inside grib/ after `pnpm build`
import { readFileSync } from "node:fs";
import {
  decodeFieldValues,
  nearestGridpoint,
  parseFields,
  parseGrid,
  splitMessages,
} from "./dist/index.js";
import { createNodeJ2kDecoder } from "./dist/j2k-node.js";

const bytes = readFileSync("test/fixtures/hrdps-continental-tmp-2m.grib2");
const [field] = parseFields(splitMessages(bytes)[0]);
const grid = parseGrid(field.section3); // rotated lat-lon (GDT 3.1)
const decodeJ2k = await createNodeJ2kDecoder(); // every ECCC field is JPEG 2000
const { values } = decodeFieldValues(field, { decodeJ2k });
const site = nearestGridpoint(grid, 49.3634, -117.2361); // a launch near Nelson, BC
console.log(`${grid.kind} ${grid.ni}x${grid.nj} = ${values.length} points`);
console.log(site);
console.log(`2 m temperature: ${(values[site.index] - 273.15).toFixed(2)} C`);
rotated 2540x1290 = 3276600 points
{
  index: 879425,
  latitude: 49.3642714812993,
  longitude: -117.23441055371016,
  distanceKm: 0.1560769875776412
}
2 m temperature: 23.05 C

每个解码路径都被接受比特比特比特比特比特比特 被冻结的20份邮件 test/fixtures/· ; 门的完整故事是在 https://meteo.azohra.com/docs/grib/recentness/ 页面存档备份,存于互联网档案馆。 。 。 .

文档

参考文献存在于 docs/ (封面,环绕门, 和JPEG 2000编码器和工人游泳池各有一个页面) 任职于 https://meteo.azohra.com/docs/grib/ (中文(简体) )。 。 。 .

麻省理工学院

版本与发布记录

@azohra/meteo.grib 共发布 6 个版本,首次发布于 2026/08/13;过去 12 个月发布了 6 个版本。

版本发布日期距今
0.1.4latest2026/08/212 个月前
0.1.32026/08/162 个月前
0.1.22026/08/152 个月前
0.1.12026/08/142 个月前
0.1.1-preview.1preview2026/08/142 个月前
0.1.02026/08/132 个月前

关于 @azohra/meteo.grib 的常见问题

@azohra/meteo.grib 是什么?

GRIB2在纯类型Script中的解码器:分节解析,多字段消息,网格几何与O(1)最接近的网格点取出(正则,旋转,和Lambert相向网格),简单而复杂的包装,JPEG 2000通过注入解码器,和NOMADS.idx范围

如何安装 @azohra/meteo.grib?

在项目目录运行 npm install @azohra/meteo.grib,或使用 pnpm add / yarn add / bun add。

@azohra/meteo.grib 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@azohra/meteo.grib 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@azohra/meteo.grib 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=22。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@azohra/meteo.grib 可以商用吗?

@azohra/meteo.grib 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@azohra/meteo.grib 的下载量有多少?

根据 npm 官方下载统计,@azohra/meteo.grib 在 2026/10/08 – 2026/11/06 这 30 天内被下载 5,148 次,日均约 172 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@azohra/meteo.grib 还在维护吗?

最新版本 0.1.4 发布于 2026/08/21(2 个月前);至今共发布 6 个版本,其中过去 12 个月发布了 6 个;首次发布于 2026/08/13。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。