标签 气候 下的文章

在我们的 20 个使用开源提升生产力的系列的第十三篇文章中使用 wego 来了解出门前你是否要需要外套、雨伞或者防晒霜。

去年,我在 19 天里给你介绍了 19 个新(对你而言)的生产力工具。今年,我换了一种方式:使用你在使用或者还没使用的工具,构建一个使你可以在新一年更加高效的环境。

使用 wego 了解天气

过去十年我对我的职业最满意的地方之一是大多数时候是远程工作。尽管现实情况是我很多时候是在家里办公,但我可以在世界上任何地方工作。缺点是,离家时我会根据天气做出一些决定。在我居住的地方,“晴朗”可以表示从“酷热”、“低于零度”到“一小时内会小雨”。能够了解实际情况和快速预测非常有用。

 title=

Wego 是用 Go 编写的程序,可以获取并显示你的当地天气。如果你愿意,它甚至可以用闪亮的 ASCII 艺术效果进行渲染。

要安装 wego,你需要确保在系统上安装了Go。之后,你可以使用 go get 命令获取最新版本。你可能还想将 ~/go/bin 目录添加到路径中:

go get -u github.com/schachmat/wego
export PATH=~/go/bin:$PATH
wego

首次运行时,wego 会报告缺失 API 密钥。现在你需要决定一个后端。默认后端是 Forecast.io,它是 Dark Sky的一部分。wego 还支持 OpenWeatherMapWorldWeatherOnline。我更喜欢 OpenWeatherMap,因此我将在此向你展示如何设置。

你需要在 OpenWeatherMap 中注册 API 密钥。注册是免费的,尽管免费的 API 密钥限制了一天可以查询的数量,但这对于普通用户来说应该没问题。得到 API 密钥后,将它放到 ~/.wegorc 文件中。现在可以填写你的位置、语言以及使用公制、英制(英国/美国)还是国际单位制(SI)。OpenWeatherMap 可通过名称、邮政编码、坐标和 ID 确定位置,这是我喜欢它的原因之一。

# wego configuration for OEM
aat-coords=false
aat-monochrome=false
backend=openweathermap
days=3
forecast-lang=en
frontend=ascii-art-table
jsn-no-indent=false
location=Pittsboro
owm-api-key=XXXXXXXXXXXXXXXXXXXXX
owm-debug=false
owm-lang=en
units=imperial

现在,在命令行运行 wego 将显示接下来三天的当地天气。

wego 还可以输出 JSON 以便程序使用,还可显示 emoji。你可以使用 -f 参数或在 .wegorc 文件中指定前端。

 title=

如果你想在每次打开 shell 或登录主机时查看天气,只需将 wego 添加到 ~/.bashrc(我这里是 ~/.zshrc)即可。

wttr.in 项目是 wego 上的基于 Web 的封装。它提供了一些其他显示选项,并且可以在同名网站上看到。关于 wttr.in 的一件很酷的事情是,你可以使用 curl 获取一行天气信息。我有一个名为 get_wttr 的 shell 函数,用于获取当前简化的预报信息。

get_wttr() {
  curl -s "wttr.in/Pittsboro?format=3"    
}

 title=

现在,在我离开家之前,我就可以通过命令行快速简单地获取我是否需要外套、雨伞或者防晒霜了。


via: https://opensource.com/article/20/1/open-source-weather-forecast

作者:Kevin Sonney 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

wttr.in 是一个功能丰富的天气预报服务,它支持在命令行显示天气。它可以(根据你的 IP 地址)自动检测你的位置,也支持指定位置或搜索地理位置(如城市、山区等)等。哦,另外你不需要安装它 —— 你只需要使用 cURL 或 Wget(见下文)。

wttr.in 功能包括:

  • 显示当前天气以及 3 天内的天气预报,分为早晨、中午、傍晚和夜晚(包括温度范围、风速和风向、可见度、降水量和概率)
  • 可以显示月相
  • 基于你的 IP 地址自动检测位置
  • 允许指定城市名称、3 字母的机场代码、区域代码、GPS 坐标、IP 地址或域名。你还可以指定地理位置,如湖泊、山脉、地标等)
  • 支持多语言位置名称(查询字符串必须以 Unicode 指定)
  • 支持指定天气预报显示的语言(它支持超过 50 种语言)
  • 来自美国的查询使用 USCS 单位用于,世界其他地方使用公制系统,但你可以通过附加 ?u 使用 USCS,附加 ?m 使用公制系统。 )
  • 3 种输出格式:终端的 ANSI,浏览器的 HTML 和 PNG

就像我在文章开头提到的那样,使用 wttr.in,你只需要 cURL 或 Wget,但你也可以在你的服务器上安装它。 或者你可以安装 wego,这是一个使用 wtter.in 的终端气候应用,虽然 wego 要求注册一个 API 密钥来安装。

在使用 wttr.in 之前,请确保已安装 cURL。在 Debian、Ubuntu 或 Linux Mint(以及其他基于 Debian 或 Ubuntu 的 Linux 发行版)中,使用以下命令安装 cURL:

sudo apt install curl

wttr.in 命令行示例

获取你所在位置的天气(wttr.in 会根据你的 IP 地址猜测你的位置):

curl wttr.in

通过在 curl 之后添加 -4,强制 cURL 将名称解析为 IPv4 地址(如果你用 IPv6 访问 wttr.in 有问题):

curl -4 wttr.in

如果你想检索天气预报保存为 png,还可以使用 Wget(而不是 cURL),或者你想这样使用它:

wget -O- -q wttr.in

如果相对 cURL 你更喜欢 Wget ,可以在下面的所有命令中用 wget -O- -q 替换 curl

指定位置:

curl wttr.in/Dublin

显示地标的天气信息(本例中为艾菲尔铁塔):

curl wttr.in/~Eiffel+Tower

获取 IP 地址位置的天气信息(以下 IP 属于 GitHub):

curl wttr.in/@192.30.253.113

使用 USCS 单位检索天气:

curl wttr.in/Paris?u

如果你在美国,强制 wttr.in 使用公制系统(SI):

curl wttr.in/New+York?m

使用 Wget 将当前天气和 3 天预报下载为 PNG 图像:

wget wttr.in/Istanbul.png

你可以指定 PNG 的透明度,这在你要使用一个脚本自动添加天气信息到某些图片(比如墙纸)上有用。

对于其他示例,请查看 wttr.in 项目页面或在终端中输入:

curl wttr.in/:help

via: https://www.linuxuprising.com/2018/07/display-weather-forecast-in-your.html

作者:Logix 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

目标:使用 Linux 命令行显示天气预报。

发行版:所有 Linux 发行版。

要求:能连上因特网的 Linux

难度:容易

约定:

  • # - 需要使用 root 权限来执行指定命令,可以直接使用 root 用户来执行也可以使用 sudo 命令
  • $ - 可以使用普通用户来执行指定命令

简介

无需打开网页浏览器就能直接从终端获取最新的天气预报那该多方便啊,对吧?你还能把它写成脚本,或者设置定义定时任务。

http://wttr.in 是一个允许你搜索世界各地天气预报的网站,而且它的是以 ASCII 字符的形式来显示结果的。通过使用 cURL 访问 http://wttr.in,就能直接在终端显示查询结果了。

获取所在地的天气

Local weather from wttr.in

要抓取所在地的天气情况非常简单。wttr.in 会自动根据 IP 地址来探测你的所在地。除非你用了 VPN,否则它的精度还不错。

$ curl wttr.in

获取指定城市的天气

Weather by city from wttr.in

你可以通过在 wttr.in 后加上斜杠和城市名称的方式来获得其他城市的天气情况。不过要把名字中的空格替换成 +

$ curl wttr.in/New+York

你也可以以 Unix 时区的形式来填写城市名称。

$ curl wttr.in/New_York

不要直接使用空格,否则会出现奇怪而不准确的结果。

获取机场天气

Weather by airport from wttr.in

若你对地区的三位机场代号很熟悉,你也可以使用机场代号来查询天气。一般来说使用机场要比使用城市更贴近你,而且更精确一些。

$ curl wttr.in/JFK

猜测所在地

Weather by landmark from wttr.in

通过使用 ~ 字符,你可以让 wttr.in 通过地标来猜测天气情况。

$ curl wttr.in/~Statue+Of+Liberty

域名所在地的天气

Weather by domain name from wttr.in

你想不想知道 LinuxConfig 托管地的天气?现在有一个方法可以知道!wttr.in 可以通过域名获取天气。是的,这个功能可能不那么实用,但这很有趣啊。

$ curl wttr.in/@linuxconfig.org

更改温度单位

Change unit system in wttr.in

默认情况下,wttr.in 会根据你的实际地址来决定显示哪种温度单位(C 还是 F)。基本上,在美国,使用的是华氏度,而其他地方显示的是摄氏度。你可以指定显示的温度单位,在 URL 后添加 ?u 会显示华氏度,而添加 ?m 会显示摄氏度。

$ curl wttr.in/New_York?m

$ curl wttr.in/Toronto?u

在 ZSH 上有一个很奇怪的 bug,会使得这两条语句不能正常工作,如果你需要更换单位,恐怕需要改成使用 Bash 了。

总结

你可以很方便地在脚本,定时任务,甚至 MOTD(LCTT 译注:Message Of The Day - 每日消息)中访问 wttr.in。当然,你完全没有必要这么做。当你需要查看天气预报的时候只需要访问一下这个超棒的网站就行了。


via: https://linuxconfig.org/get-your-weather-forecast-from-the-linux-cli

作者:Nick Congleton 译者:lujun9972 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

 title=

如今你看地球上的任何地方,都可以找到天气变化的证据,每个月,无论是事实还是数据都在向我们诠释一点 —— 全球变暖。

气候学家如是告诫我们,如今的不作为,对于我们的将来可能是致命的。五角大楼的军事战略家最近警告当选总统的川普,向他申明如果不对气候变化有所动作,可能会造成威胁国家安全的灾难。愈趋减少的的水供应和微薄的降雨量会导致作物歉收,这将迫使大量的移民逃往世界各地,到那些可以维持他们生计的地方去。

遍览 NASA、美国国防部,以及其他机构针对气候的研究成果,我的心中有个疑惑。那就是是否有开源的工具,使对此感兴趣的人们能够自行去探索气候数据的奥秘,并总结出我们自己的结论。我在网上快速的检索了一下,然后找到了 Open Climate Workbench (开源气候工作台),这是 Apache 软件基金会旗下的一个工程。

Open Climate Workbench (缩写 OCW) 开发该软件,对来自 地球系统网格联盟 Earth System Grid Federation (缩写 ESGF)、 协调区域气候降尺度实验 Coordinated Regional Climate Downscaling Experiment (缩写 CORDEX)、美国全球变化研究项目的 国家气候研究 National Climate Assessment 北美区域气候评估计划 North American Regional Climate Assessment Program ,以及 NASA、NOAA 和其他组织或机构的数据进行气候模型评价。

你可下载 OCW 的 tar 包 并将它安装到满足其条件的 Linux 电脑上。也可以使用 Vagrant 或者 VirtualBox 将 OCW 安装到虚拟机中,详见 OCW 的虚拟机指南

个人觉得想要了解 OCW 是如何工作的,最便捷的方式就是到 区域气候模式评价系统 Regional Climate Model Evaluation System (缩写 RCMES),下载一个虚拟机镜像

从 RCMES 的网站上看,他们旨在通过为一系列广泛而全面的观测(例如,卫星观测,重新分析,现场观测)和建模资源(例如,ESGF 上的 CMIPCORDEX)提供标准化的访问,以及常规分析和可视化任务的工具(例如,OCW),来促进气候和地球系统模型的区域规模评估。

你需要在宿主机上安装 VirtualBox 和 Vagrant。通过它们,你就能看到一个超赞的 OCW 作业示例。RCMES 为下载、导入、运行虚拟机提供了详细的说明。当你的虚拟机开始工作时,你可以用以下身份登陆。

用户名:vagrant,密码:vagrant。

 title=

RCMES 数据样图

RCMES 网页上的教程能帮助你迅速上手该软件。他们的社区十分活跃,而且在寻找更多的开发者。 你也可以订阅他们邮件列表

该工程的源代码部署在 GitHub 上,遵寻 Apache License, Version 2.0。

(题图源自: Flickr user: theaucitron (CC BY-SA 2.0))


作者简介:

Don Watkins(唐 沃特金斯) - 教育家,教育技术专家,企业家,开源支持者。教育心理学硕士,Linux 系统管理员,CCNA,使用 Virtual Box 实现虚拟化。twitter 关注 @Don\_Watkins。


via: https://opensource.com/article/17/1/apache-open-climate-workbench

作者:Don Watkins 译者:martin2011qi 校对:jasminepeng

本文由 LCTT 原创编译,Linux中国 荣誉推出