#天气 #终端 #气象 #命令行应用程序 #命令行工具 #CLI

app nowa

一个小巧、快速的命令行应用程序,从美国国家气象服务检索天气数据

7 个稳定版本

1.1.1 2024年5月19日
1.0.4 2024年5月19日
1.0.3 2024年5月18日
1.0.2 2024年5月16日
1.0.1 2024年5月14日

命令行工具 中排名第 40

Download history 44/week @ 2024-05-08 442/week @ 2024-05-15 101/week @ 2024-05-22

每月下载量 220

GPL-3.0 或更高版

54KB
897

builds.sr.ht status License: GPL v3

nowa

版本 1.1.1

nowa 是一个小巧、快速的命令行应用程序,从美国 国家气象服务 获取天气数据。

快速入门

[以下为构建和安装 nowa 的说明]

首先,确定您想查看天气信息的地点的坐标(网上有很多工具可以做到这一点)。一旦您有了这些坐标,您就可以让 nowa 列出附近的气象站

$ nowa --list-stations 65.846004,-150.725719

Available Weather Stations for 65.846,-150.725719
ID    Location
----  --------
PATA: Tanana, Calhoun Memorial Airport
PABT: Bettles, Bettles Airport
PAIM: Utopia Creek, Indian Mountain LRRS Airport
PANN: Nenana Municipal Airport
PAFA: Fairbanks, Fairbanks International Airport
PAMH: Minchumina, Minchumina Airport
PAIN: McKinley Park, McKinley National Park Airport
PFYU: Fort Yukon, Fort Yukon Airport
[...]

现在,这是阿拉斯加尤克昂-科尤库克人口普查区(该国人口最少的地区之一)的中间位置。尽管如此,该地区有超过一百个气象站。

让我们看看 Elfin Cove 机场。我们可以使用其站号(PAEL)来询问 NWS API 提供哪些产品

$ nowa --list-products --station-id PAEL

Forecast Office Products Available for PAEL:

Code  Description
----  -----------
AFD   Area Forecast Discussion
CAP   Common Alerting Protocol
CLM   Climatological Report (Monthly)
CWF   Coastal Waters Forecast
FWF   Routine Fire Wx Fcst (With/Without 6-10 Day Outlook)
HML   AHPS XML
NOW   Short Term Forecast
OFF   Offshore Forecast
PFM   Point Forecast Matrices
RER   Record Report
RR3   Hydro-Met Data Report Part 3
RRS   HADS Data
[...]

(注意 -i/--station-id 开关。这对于许多 nowa 操作是必需的)

该站有大量数据产品,包括离岸水域预报(OFF)。所以,让我们获取这个产品

$ nowa --product OFF -i PAEL

Offshore Forecast
000
FZAK67 PAJK 021145
OFFAJK

Offshore Waters Forecast
National Weather Service Juneau AK
345 AM AKDT Wed Jun 2 2021

Offshore waters forecast for Gulf of Alaska east of 144W

Wind forecasts reflect the predominant speed and direction
expected. Sea forecasts represent the average of the highest
one-third of the combined windwave and swell height.
[...]

构建和安装 nowa

nowa是用 Rust 编写的,因此需要在您的机器上安装 Rust 编译器

假设您已经处理好这一点,它可能看起来像这样

$ cargo install nowa

二进制文件的安装位置取决于您的本地配置,但 cargo 非常聪明,可能可以 将其安装到您想要的位置

用法

nowa 可以显示通过 NWS API 提供的任何数据产品。如果您知道特定地区的站点的 ID、您要显示的数据产品以及该数据产品在该站点上有提供,则 nowa 可以显示它。并且,除了您感兴趣的地点的经纬度之外,所有这些信息都可以使用 nowa 本身确定。

但是 nowa 还提供了一系列方便的选项,用于获取常见的(并且大多是通用的)信息,包括当前条件、7天预报、活动警报以及科学预报讨论。所以,如果您只想查看我家乡(林肯,内布拉斯加州)的当前条件

$ nowa --conditions -i KLNK

这将给出格式化的输出

Current conditions at Lincoln, Lincoln Municipal Airport (KLNK)
40° 49' 52" N, -96° 45' 52" W
	 Summary: Clear
	 Temperature: 32.0°F
	 Dewpoint: 15.1°F (dry)
	 Relative Humidity: 0.0%
	 Wind: From the S (180°) at 5.8 mph
	 Pressure: 1022.4 mb
	 Visibility: 8.0 mi

同样,请求七天的预报也会给出

$ nowa --forecast -i KLNK

查看是否有任何活动警报

$ nowa --alerts -i KLNK

并且,您可以通过“科学预报讨论”来完全沉浸在技术中

$ nowa --discussion -i KLNK

一旦您知道了某个站点上可用的产品,就可以很容易地设置特定产品的别名,例如危险天气展望(HWO)、空气质量报告(AQI)、昨天的降水量(CLI)等等。

此外:通过添加 --json 开关,您可以显示 任何 NWS 产品为原始 JSON。例如

$ nowa --json --conditions -i KLNK

这比您想象的更有用,因为从 API 获取有用的信息通常需要遵循多个嵌入链接; nowa 会为您做所有这些。当然,一旦您有了“原始”的 JSON,您可以将它通过管道发送,导入到另一个工具等。

许可证

nowa 由 Stephen Ramsay(sramsay{at}protonmail{dot}com)编写和维护。

本程序是免费软件:您可以在自由软件基金会的 GNU 通用许可证的条款和条件下重新分发和/或修改它,许可证版本为 3 或更高版本。

本程序是在希望它有用的前提下分发的,但没有任何保证;甚至没有关于其适销性或特定用途的暗示性保证。有关详细信息,请参阅 GNU 通用许可证。

NOAA/NWS 数据属于公共领域。然而,NOAA/NWS 数据的使用者应熟悉其 免责声明 中规定的条款和条件。

nowa 既未获得美国国家海洋和大气管理局(NOAA)或国家气象服务(NWS)的认可,也与它们没有任何形式的关联。

最后修改日期:2024-05-19T18:16:53:-0500

依赖关系

~7–9.5MB
~194K SLoC