气象学家如何利用Python
作者:Eric Floehr,Intellovations
引言
ForecastWatch.com是Intellovations的一项服务,专注于评估Accuweather、MyForecast.com和The Weather Channel等公司的天气报告的准确性。每天收集超过36,000个天气预报,覆盖800多个美国城市,然后将这些预报与实际气候数据进行比较。这些比较被气象学家用来改进他们的天气预报,并与其他预报进行比较。消费者也利用这些信息来更好地理解预报的可能准确性。
架构
ForecastWatch.com由四个主要的架构组件构成:获取预报的输入过程、获取测量气候数据的输入过程、数据聚合引擎和Web应用程序框架。
系统中有两个主要的输入过程:预报解析器和实况解析器。预报解析器负责从ForecastWatch.com跟踪的每个预报提供商的网页请求预报。它解析页面上的预报并插入预报数据到数据库中,直到可以与实际数据进行比较。实况解析器从国家气象局的国家气候数据中心获取实际数据,该中心为800多个美国城市提供高温、低温、降水和重大天气事件的数据,并将其插入数据库。该过程还对预报与实际天气数据进行评分,并将这些信息放入数据库中。
一旦数据被收集和评分,它就由聚合引擎处理,该引擎将评分组合成年和月的块,按提供商、地点和预报预测的未来天数进行切片。在2003年的第一年,系统只收集了20个美国城市的预报,大约250,000个单独的预报,因此大部分数据输出都是基于原始评分数据。在系统扩展到800个城市后,增加了聚合引擎,将数据流增加了近4000%。在2004年上半年,系统已经对超过400万个预报进行了评分,所有这些都被收集、解析并显示在网站上。