Телевидение — неотъемлемая часть американской культуры. В 70-х годах прошлого века доступ к нему был практически у всех домохозяйств США, и это сделало его главным источником информации на тот момент. Развитие кабельного ТВ стало причиной появления множества узкоспециализированных каналов вроде Nickelodeon (1979), MTV (1981) или The Weather Channel (1982).
Последний довольно интересен, ведь его главной фишкой было предоставление не просто общей метеорологической информации по стране и за ее пределами, но и трансляции локальных прогнозов погоды из той местности, откуда ее смотрит телезритель. Это реализовали при помощи аппаратного комплекса WeatherStar, который принимал данные о погоде со спутника и в реальном времени накладывал свежие погодные сводки на видеопоток. В статье поговорим о том, как работал этот аппаратный комплекс, зачем он был нужен, чем привлек фанатов и каким образом энтузиасты смогли сохранить его в виде современного симулятора. Разберем историю WeatherStar 4000 — от первых трансляций локальных прогнозов до фанатских проектов, переживших даже отключение серверов.

От наблюдений до прогноза
Метеорология — наука, которая играет важнейшую роль в любом государстве, особенно таком развитом, как США. Наиболее важная причина — экономическая. Каждое экстремальное погодное явление, будь то шторм, торнадо или наводнение, может повлечь за собой существенные финансовые последствия. Предотвратить их полностью невозможно, но есть вариант их смягчить, если предупредить людей заранее.
Задумались о решении этой проблемы очень давно внутри Department of Commerce (DOC), переведя под свое крыло United States Weather Bureau (USWB), ранее подчинявшееся United States Department of Agriculture (USDA). В 1970 году это бюро было переименовано в National Oceanic and Atmospheric Administration (NOAA), внутри которого было образовано агентство National Weather Service (NWS), занимающееся сбором, анализом и распространением метеорологической информации по всей стране.
Основой составления любого прогноза является сбор данных. Чем их больше, тем лучше. И надо сказать, что у NWS есть огромное количество источников метеоданных. Существуют различные сети вроде ASOS (Automated Surface Observing System) и AWOS (Automated Weather Observing System). Они устанавливаются на аэродромах и метеопостах, регулярно транслируя данные о:
температуре;
влажности;
атмосферном давлении;
скорости и направлении ветра;
видимости;
облачности.
Существуют сети добровольцев, такие как Cooperative Observer Program (COOP). Более 8 700 участников ежедневно сообщают свои наблюдения по телефону и в электронном виде. Также каждый из них отсылает ежемесячные отчеты. Волонтеры программы проходят обучение в местных офисах NWS и там же получают необходимое оборудование для измерений.
Отдельно стоит отметить NEXRAD (Next Generation Radar) — распределенную сеть из 162 метеорологических радиолокационных станций, основой которых являются доплеровские радары WSR-88D:

Каждый такой радар способен «видеть» атмосферные осадки в радиусе 230 км и штормовые структуры в радиусе 460 км. Внутри шарообразного радиопрозрачного купола находится вращающаяся на 360 градусов антенна диаметром 8,54 метра, испускающая когерентный сигнал короткими импульсами и принимающая отражения от капель дождя, снега и града:

NWS использует данные с подобных радаров для определения опасных явлений вроде сдвига ветра, торнадо, ураганов и гроз. NEXRAD позволяет оперативно (за 10–30 мин.) выпускать соответствующие предупреждения.
Наблюдения за погодой производятся не только при помощи наземных станций, но и через метеорологические спутники. Они бывают геостационарными (GOES — Geostationary Operational Environmental Satellites) и полярно-орбитальными (JPSS — Joint Polar Satellite System). Первые оснащены многоспектральными камерами и датчиками детектирования молний, помогающими обнаруживать грозы. Вторые обладают инструментами для определения температуры и влажности на разных высотах, ИК-спектрометрами и камерами.
Все собранные с наземных станций и космических аппаратов данные непрерывно поступают в суперкомпьютеры для обработки. Первоначально использовались CDC Cyber 203 и CDC Cyber 205, которые стали оперировать не только скалярными, но и векторными величинами. Затем агентство перешло на суперкомпьютеры производства Cray Inc. Последний существенный апгрейд был сделан в 2022 году, и сейчас за прогнозы по всей стране отвечают два суперкомпьютера: Dogwood и Cactus производства HPE Cray:

Каждый из них состоит из 2 560 узлов, построенных на базе 64-ядерных процессоров AMD Epyc 7742, и суммарно содержат 1,3 Пб оперативной памяти. Интерконнект между нодами обеспечивается с помощью HPE Slingshot-10 (64-портовые свитчи с портами QSFP-DD). Хранилище данных такого суперкомпьютера — это 26 Пб в СХД ClusterStor для HPC (614 Тб из которых — Flash-память). Пиковая производительность — 12,1 Пфлопс.
Если в 80-х расчет погоды на 3 дня вперед мог занимать до 4–5 часов вычислений, то сегодня прогноз на 10 дней рассчитывается за 10–15 минут. К профессиональным метеорологам обработанные данные попадают практически в реальном времени. Но понять то, что скоро на определенной местности начнется ураган, — лишь полдела. Важно успеть оповестить максимальное количество людей об этом, и здесь у NWS также есть множество доступных способов.
Оповещения о погоде
Предположим, что у метеорологов есть прогноз о наступлении экстремального погодного явления, например торнадо. Он незамедлительно доставляется до населения и учреждений критической инфраструктуры: аэропортов, железнодорожных/энергетических/транспортных компаний, а также морских портов и служб спасения. Обычно для этого используются прямые каналы связи с NWS или специализированные компании-посредники.
Население получает экстренные прогнозы сразу несколькими способами по принципу многократного дублирования. В первую очередь в США реализована уникальная система оповещения по радио — NOAA Weather Radio (NWR). Используются 7 VHF-частот (от 162.400 MHz до 162.550 MHz с шагом 0,25), которые не пересекаются с морской связью или FM-радио. Сообщение представляет собой скрытую цифровую комбинацию S.A.M.E. и голосовое уведомление.

Несмотря на то, что в США нет законов, обязывающих все продающиеся радиоприемники иметь поддержку NWR, большинство производителей старается встраивать его в туристические, автомобильные и emergency-модели. У меня, например, радиосканер Icom IC-R20 умеет принимать NWR, но за пределами США эта опция полностью бесполезна.
Доступ к телевидению рядовых американцев можно сравнить разве что с наличием у них смартфонов и умных устройств вроде Smart-часов. Оповещение об экстремальных погодных явлениях появляется в виде push-уведомлений через Wireless Emergency Alerts (WEA), которая встроена в операционную систему смартфона. Любопытно то, что оповещение прозвучит, даже если аппарат находится в беззвучном или Do-Not-Disturb-режиме, равно как и если включен минимальный уровень громкости.
В ряде случаев может быть задействована система Reverse 911, которая выполняет голосовые звонки на все мобильные в определенной локации. Это нужно для того, чтобы оповестить людей, даже если их телефоны не могут отображать push-уведомления. Пожилым, например, привычнее использовать обычные сотовые, и Reverse 911 является эффективным методом предупреждения. Разумеется, вместе с такими продвинутыми системами работают и привычные, вроде активации сирен оповещения.
Еще один способ — национальная система прерывания эфира (Emergency Alert System — EAS). Как только от NWS приходит тревожный сигнал, все радиостанции и телеканалы прекращают вещание и начинают транслировать текстовое и звуковое оповещение из NWS в виде всплывающего окна или бегущей строки при помощи аппаратного комплекса, который ранее назывался WeatherStar.
Что такое WeatherStar

Компьютерный комплекс WeatherStar 4000 представлял собой устройство размером с 4 стандартных юнита для монтажа в 19-дюймовую стойку. На него подавался видеосигнал The Weather Channel в формате NTSC с выхода спутникового ресивера. Его особенность в том, что, помимо видимой части, у него есть скрытые элементы:

Информация от NWS кодировалась в кадровом гасящем импульсе (VBI), и WeatherStar 4000 умел ее выделять из потока в реальном времени. Сердцем устройства служил процессор Motorola 68010 c тактовой частотой 10 МГц.

Чипы с маркировкой 41256 образуют 256 Кб ОЗУ. В качестве ОС использовалась VRTX (Versatile Real-Time Executive) разработки Hunter & Ready. Это типичная RTOS для встраиваемых систем того времени. Образ хранился в ПЗУ вместе со шрифтами и таблицами.
Необычным было то, что софт, создававший всю магию, внутри устройства отсутствовал. Он так же, как и прогнозы погоды, загружался непосредственно через тот же спутниковый канал связи и хранился в оперативной памяти ровно до того момента, пока на плате присутствовало питание. Если последнее пропадало, софт терялся и приходилось ждать несколько часов, прежде чем система вновь начинала работать.
Вторым по значимости элементом была графическая плата:

Процессорная плата готовила видеопроцессору текст и команды «шаблонов» страниц. MC68B09E и ПЛИС Xilinx формировали кадры, используя данные в видеопамяти и шрифты/иконки в ПЗУ. Brooktree-чип кодировал RGB в NTSC, а аналоговая часть смешивала сигнал с входящим ТВ-каналом для локальной вставки.

Не менее важную роль играла плата обработки звука, совмещенная с RF-трактом. Она декодировала поток данных из VBI и отправляла их на процессорную плату. Последняя возвращала готовый текст прогноза, после чего запускала синтез голоса (TTS) синхронно с картинкой от графической платы.

Дополнительно на шине присутствовала IO-плата, которая работала «мостом» между CPU и внешними интерфейсами. Она имела порт RS-232C (DB-25), позволяющий подключить терминал, чтобы управлять конфигурацией системы и редактировать выводимые сообщения. Внутри также был встроенный модем на 300 bod (разъем RJ-11 на лицевой стороне), используемый для удаленного управления.
Вот так выглядело полностью собранное устройство в рабочем режиме:

В исходном виде система просуществовала достаточно долго, чтобы обрести множество поклонников канала The Weather Channel и устройства WeatherStar. Нашлись те, кто захотел сохранить исходную систему хотя бы в цифровом виде. Так на свет появился WeatherStar 4000 Simulator.
Создавая наследие
Как это обычно и бывает, главную роль в том, что мы сейчас имеем симулятор WeatherStar 4000, сыграли энтузиасты. Начало миллениума было золотым веком веб-форумов. С подобного ресурса, посвященного фэндому The Weather Channel, и началась история симулятора. В 2002 году на свет появился форум Taiga Networks, принадлежащий «небольшой хостинговой организации, расположенной в маленьком городке Себаго, штат Мэн». На нем обсуждали компьютерные игры, вопросы доступа в интернет и прочие смежные темы. В дальнейшем он стал домашней страницей симулятора WS 4000.
Автор проекта — один из участников фэндома Билл Гудвилл. Он лишь имитировал внешний вид системы локального отображения прогноза погоды, но делал это, уделяя максимальное внимание деталям. Разработка началась с 1993 года, но посмотреть, как выглядела альфа, не выйдет. Она не была опубликована, а ресурсы приложения не сохранились.
Первая версия симулятора базировалась на mIRCscript. Этот простой скриптовый язык был встроен в mIRC и не представлял широких возможностей. Чаще всего на нем писали ботов, способных работать в рамках чат-клиента. В качестве источника данных она использовала общедоступную информацию с weather.com, но не могла полностью парсить сайт, соответственно, не отображала прогнозы для городов и предупреждения о погодных явлениях.
Разработка второй версии была связана с еще одним участником фанатского сообщества Чарльзом Абелем-Лиром. Когда-то давно он уже пробовал создать собственный симулятор WS 3000 и WS 4000 на QBasic. Так что он с энтузиазмом принялся помогать Биллу, взяв на себя разработку графики. Теперь это было отдельное приложение, не связанное с mIRC и написанное на Visual Basic .NET. Увы, но возможностей .NET и Windows API не хватило для корректного и последовательного отображения всех экранов.
Чтобы кардинально решить проблему, планировалось использовать вывод графики через DIrectX, но это так и не было реализовано. Параллельно Билл работал над частями приложения, которые отвечали за парсинг данных METAR. Увы, но вторая версия программы так и не вышла из беты, а все внесенные изменения планировалось выпустить уже в следующей.
Особенностью третьей версии стал переход на фреймворк XNA, а большая часть кода была переписана на C#. Вывод графики теперь осуществлялся через DirectX 9, и это стало настоящим прорывом. Взяв за основу best practices разработки игр, Биллу удалось довести копирование графического поведения оригинальной WS 4000 практически до идеала. Увы, но к тому моменту Чарльзу Абелю-Лиру пришлось покинуть проект из-за нехватки времени, а его место занял Ник Смит. К 2014 году команда столкнулась с неожиданной проблемой. Microsoft решила полностью забросить XNA, и это затормозило дальнейшее развитие проекта на годы.

Наконец мы дошли до актуальной, 4-ой версии симулятора. Очередная смена языка на C++ упростила разработку. Желание сделать его кроссплатформенным привело к переносу всего рендеринга на OpenGL. Это не было простым вариантом, ведь для реализации пришлось написать полноценный движок 2D-графики. Плюсом стало то, что оно нативно работало на Linux и macOS (до момента, пока Apple не дропнула поддержку OpenGL). Впоследствии приложение было разделено на две части — клиентскую и серверную.
Последнюю легко переписать, если источники данных вроде сайта Aviation Weather поменяют URL-адреса. Клиент при этом останется неизменным. Помимо запросов на внешние ресурсы, часть вычислений делается локально. Например, для показа фаз Луны используется алгоритм, предсказывающий это до конца 21 века:

Кроме парсинга с веб-сайтов, WeatherSTAR 4000 Simulator обрел крайне полезную опцию декодирования формата GRIB, разработанного Национальной метеорологической службой. Это было весьма непростой задачей, к тому же GRIB является сильно сжатым форматом, и любое обращение к хранилищу существенно нагружает процессор. Отчасти проблема была решена локальным кэшированием после распаковки данных.
В 2024 году произошло событие, которое чуть не стало роковым для всего проекта. Дело в том, что исходный код не раскрывается, что делает невозможным запуск собственного бэкенда. Таким образом, все пользователи симулятора находятся в зависимости от центрального сервера, который обрабатывает большую часть данных.
16 апреля приложение стало сбоить. Причиной, как утверждается, стали «неоднократные злонамеренные действия на месте, направленные на отключение сети и кабелей питания сервера данных». Кому насолил фанатский проект, непонятно, но легло все, а Билл даже удалил возможность загрузить сам клиент симулятора. Позже он был выложен в Архив Интернета. Сервер на несколько недель ушел в офлайн и физически помещен на колокейшн в другой дата-центр, после чего заново вернулся в сеть.
Спустя год вышла новая версия 4.1, но пока только для Windows. В качестве источника данных теперь используется хранилище радарных данных Университета штата Айова, а графическая составляющая карты была существенно переработана. Таким образом проект сохранился в активном состоянии. Чем же вызвано желание сохранить исходный код в тайне, остается неясным.
Тем не менее Билл не единственный поклонник устройства, так что в сети есть как минимум один open-source-симулятор WS3KP, подтягивающий общедоступные данные по API с weather.gov и работающий прямо в браузере. Но максимально интересным кажется проект пользователя techknight, программиста из Северной Каролины. Он приобрел настоящий комплекс WeatherStar 4000 и начал работу по его реверс-инжинирингу.
Мы уже упоминали, что внутри устройств не было софта, а трансляций, содержащих образ ПО, не сохранилось. Задача из сложной превратилась практически в невыполнимый квест. Но тем не менее он не сдается, а судя по его домашней серверной стойке, у него сейчас есть полная коллекция устройств, относящихся к трансляции прогнозов погоды:

В целом комплексы WeatherSTAR не просто стали ретропамятником целой эпохи, но и косвенно сохранили множество жизней, транслируя как обычные прогнозы погоды, так и экстренные предупреждения. Специфический визуальный стиль и звуковое оформление могут послужить отличной «машиной времени», позволяя многим вновь пережить давно забытые эмоции.
Если когда-нибудь оригинальный софт будет найден (или переписан с нуля), а схемы устройства восстановлены, то появится возможность создания точного эмулятора, который позволит полностью сохранить этот замечательный девайс и даже приспособить его к трансляции погоды из современных источников.
А вы когда-нибудь видели работу WeatherSTAR? Пишите в комментариях, с удовольствием почитаю.
Zara6502
не видно отметки о том что это перевод и если это не перевод, то вопросы вызывает оформление, словно статью будут читать только в калифорнии