Штош. В этой статье я расскажу вам, как создать Telegram бота, который получает текущую погоду по IP адресу. Мы будем использовать язык Python и асинхронную библиотеку для взаимодействия с Telegram Bot API — aiogram.
Итак, как же вы можете создать такого бота?
Склонируйте репозиторий shtosh-weather-bot и пройдите по инструкции в README.
Выбираем погодный сервис с бесплатным API
Данные о текущей погоде нам нужно откуда-то брать. Еще желательно, чтобы это было бесплатно. У сайта OpenWeatherMap есть нужный нам API текущей погоды. Бесплатно можно посылать 1000 запросов в день.
Кстати, если вы ищете какой-то application user interface для своего проекта, рекомендую репозиторий public-apis.
Итак, для запроса нужны координаты и специальный ключ, который можно получить, зарегистрировав аккаунт. Ну это вообще не проблема, можно зарегать на временную почту. Конечно, если вы собираетесь серьезно использовать API и покупать больше 1000 запросов в день, лучше регистрировать аккаунт на свою почту. Капитан очевидность.
ПИШЕМ БОТА-МЕТЕОРОЛОГА НА PYTHON
Заходим в My API keys и видим здесь тот самый ключ. Можете взять мой, мне не жалко.
Итак, давайте сформируем запрос. Я выбрал координаты Нью-Йорка, просто потому что хочу и могу. Не забудем добавить флаг units со значением metric , чтобы температура показывалась в градусах Цельсия. По умолчанию дается в Кельвинах.
Вот такой json мы получаем.
< «coord»: < «lon»: -74.006, «lat»: 40.7128 >, «weather»: [ < «id»: 802, «main»: «Clouds», «description»: «scattered clouds», «icon»: «03d» >], «base»: «stations», «main»: < «temp»: 31.36, «feels_like»: 31.23, «temp_min»: 28.86, «temp_max»: 33.94, «pressure»: 1013, «humidity»: 39 >, «visibility»: 10000, «wind»: < «speed»: 5.14, «deg»: 290 >, «clouds»: < «all»: 40 >, «dt»: 1661375748, «sys»: < «type»: 2, «id»: 2039034, «country»: «US», «sunrise»: 1661336121, «sunset»: 1661384510 >, «timezone»: -14400, «id»: 5128581, «name»: «New York», «cod»: 200 >
Создаем бота и устанавливаем все необходимое
Создайте Telegram бота с помощью BotFather и возьмите его токен.
Из названия видео вы могли догадаться, что мы будем использовать язык Python и библиотеку aiogram. Я надеюсь, с установкой Python у вас не возникнет проблем. С aiogram тоже.
pip install aiogram
Лирическое отступление
Я много позаимствовал у проекта Алексея Голобурдина — автора YouTube канала «Диджитализируй!» Проблема в том, что его проект предназначен только для macOS устройств, потому что координаты берутся с помощью инструмента командной строки whereami. Пример вывода:
Telegram bot на Python + aiogram | Прогноз погоды в любом городе | API погоды | Парсинг JSON
Latitude: 45.424807, Longitude: -75.699234 Accuracy (m): 65.000000 Timestamp: 2019-09-28, 12:40:20 PM EDT
Также его скрипт просто выводит всю форматированную информацию в терминал, хотелось бы иметь интерфейс поприятнее и удобнее.
Я решил, что можно доработать идею и охватить максимальное количество пользователей, пренебрегая точностью информации.
Пишем код. Файл конфигурации
Итак, файл config.py содержит константы:
- Токен бота BOT_API_TOKEN
- Ключ OpenWeather WEATHER_API_KEY
- Запрос текущей погоды CURRENT_WEATHER_API_CALL
BOT_API_TOKEN = » WEATHER_API_KEY = » CURRENT_WEATHER_API_CALL = ( ‘https://api.openweathermap.org/data/2.5/weather?’ ‘lat=’ ‘appid=’ + WEATHER_API_KEY + ‘loc» сокращенно от location. Опять капитан очевидность. Делаем запрос с помощью функции urlopen модуля request библиотеки urllib. Возвращаем словарь с помощью json.load()
from urllib.request import urlopen import json def _get_ip_data() -> dict: url = ‘http://ipinfo.io/json’ response = urlopen(url) return json.load(response)
В функции получения координат парсим этот словарь и возвращаем датакласс координат.
def get_coordinates() -> Coordinates: «»»Returns current coordinates using IP address»»» data = _get_ip_data() latitude = data[‘loc’].split(‘,’)[0] longitude = data[‘loc’].split(‘,’)[1] return Coordinates(latitude=latitude, longitude=longitude)
coordinates.py
Парсим ответ OpenWeather API
Далее рассмотрим модуль api_service. В нем происходит вся суета с погодой. Температура измеряется в градусах Цельсия, чему соответствует псевдоним float числа.
from typing import TypeAlias Celsius: TypeAlias = float
Как известно, градусы Фаренгейта были созданы только для того, чтобы Рэй Брэдбери смог красиво назвать свою антиутопию.
В ответе API направление ветра дается в градусах. Я решил привести их в более удобный формат. Для этого я создал перечисление основных направлений ветра.
from enum import IntEnum class WindDirection(IntEnum): North = 0 Northeast = 45 East = 90 Southeast = 135 South = 180 Southwest = 225 West = 270 Northwest = 315
В функции парсинга округление по 45 градусов выглядит таким образом: делим градусы на 45, округляем и умножаем обратно на 45. Результат может округлиться до 360 градусов, поэтому обрабатываем этот случай.
def _parse_wind_direction(openweather_dict: dict) -> str: degrees = openweather_dict[‘wind’][‘deg’] degrees = round(degrees / 45) * 45 if degrees == 360: degrees = 0 return WindDirection(degrees).name
Все данные о погоде будут храниться в датаклассе. При желании вы можете добавить сюда остальную информацию из ответа OpenWeather, например атмосферное давление, часовой пояс, минимальную и максимальную зафиксированную в данный момент температуру.
В остальном ничего интересного в модуле не происходит, просто парсинг json.
Делаем сообщения для бота
В модуле messages собраны сообщения для бота по командам. Сообщение о погоде /weather содержит локацию, описание погоды, температуру и ее ощущение.
from coordinates import get_coordinates from api_service import get_weather def weather() -> str: «»»Returns a message about the temperature and weather description»»» wthr = get_weather(get_coordinates()) return f’, n’ f’Temperature is °C, feels like °C’
Сообщение о ветре /wind показывает его направление и скорость в метрах в секунду.
def wind() -> str: «»»Returns a message about wind direction and speed»»» wthr = get_weather(get_coordinates()) return f’ wind m/s’
Ну и сообщение о времени восхода и заката солнца /sun_time . Здесь datetime объект форматируется в часы и минуты, остальное в данном случае неважно.
def sun_time() -> str: «»»Returns a message about the time of sunrise and sunset»»» wthr = get_weather(get_coordinates()) return f’Sunrise: n’ f’Sunset: n’
Нужно заметить, что при каждом вызове функции создается новый API запрос. Почему это нужно заметить? Потому что сначала я сделал бота с одним запросом и недоумевал, почему информация не меняется через время. Потому что в идеале делать один запрос в 5 или 10 минут, за это время погода не особо меняется, да и данные OpenWeather тоже не обновляются каждую секунду.
from coordinates import get_coordinates from api_service import get_weather def weather() -> str: «»»Returns a message about the temperature and weather description»»» wthr = get_weather(get_coordinates()) return f’, n’ f’Temperature is °C, feels like °C’ def wind() -> str: «»»Returns a message about wind direction and speed»»» wthr = get_weather(get_coordinates()) return f’ wind m/s’ def sun_time() -> str: «»»Returns a message about the time of sunrise and sunset»»» wthr = get_weather(get_coordinates()) return f’Sunrise: n’ f’Sunset: n’
Inline клавиатура
Можно было сделать reply клавиатуру, но мне больше по душе Inline. 3 кнопки для 3 команд.
from aiogram.types import InlineKeyboardButton, InlineKeyboardMarkup BTN_WEATHER = InlineKeyboardButton(‘Weather’, callback_data=’weather’) BTN_WIND = InlineKeyboardButton(‘Wind’, callback_data=’wind’) BTN_SUN_TIME = InlineKeyboardButton(‘Sunrise and sunset’, callback_data=’sun_time’)
4 клавиатуры для 4 команд, добавляется команда помощи. В чем суть? После сообщения погоды нам не нужно показывать ее кнопку. Такая же логика для всех других команд, кроме помощи.
Для нее выводятся кнопки всех 3 команд.
WEATHER = InlineKeyboardMarkup().add(BTN_WIND, BTN_SUN_TIME) WIND = InlineKeyboardMarkup().add(BTN_WEATHER).add(BTN_SUN_TIME) SUN_TIME = InlineKeyboardMarkup().add(BTN_WEATHER, BTN_WIND) HELP = InlineKeyboardMarkup().add(BTN_WEATHER, BTN_WIND).add(BTN_SUN_TIME)
inline_keyboard.py
from aiogram.types import InlineKeyboardButton, InlineKeyboardMarkup BTN_WEATHER = InlineKeyboardButton(‘Weather’, callback_data=’weather’) BTN_WIND = InlineKeyboardButton(‘Wind’, callback_data=’wind’) BTN_SUN_TIME = InlineKeyboardButton(‘Sunrise and sunset’, callback_data=’sun_time’) WEATHER = InlineKeyboardMarkup().add(BTN_WIND, BTN_SUN_TIME) WIND = InlineKeyboardMarkup().add(BTN_WEATHER).add(BTN_SUN_TIME) SUN_TIME = InlineKeyboardMarkup().add(BTN_WEATHER, BTN_WIND) HELP = InlineKeyboardMarkup().add(BTN_WEATHER, BTN_WIND).add(BTN_SUN_TIME)
Главный модуль бота
Ну и в главном модуле бота присутствует стандартная настройка, хэндлеры сообщений и коллбэков для inline кнопок, ничего сверхъестественного.
Нужно хоть что-нибудь рассказать. Под стандартной настройкой aiogram подразумевается следующий блок кода:
import logging from aiogram import Bot, Dispatcher, executor, types import config logging.basicConfig(level=logging.INFO) bot = Bot(token=config.BOT_API_TOKEN) dp = Dispatcher(bot)
Хэндлер для сообщений /start и /weather выглядит следующим образом. Все работает с помощью магии декораторов aiogram.
Хэндлер коллбэка для инлайн-кнопки погоды:
Запускаем скрипт с помощью такой конструкции:
if __name__ == ‘__main__’: executor.start_polling(dp, skip_updates=True)
Запускаем бота
Смотрим логирование, вы должны увидеть 3 сообщения:
Пока что все работает, давайте посмотрим по IP из Германии.
Бывают такие случаи, когда запрос долго обрабатывается. Я не обрабатывал ошибки и не делал для них сообщений, бот просто ничего не делает в таких случаях. Я посчитал, что уже и так хорошо. Как говорится:
- Лучшее — враг хорошего
- Работает — не трогай
- Еще сотня фраз для оправдания лени
- Еще тысяча успокаивающих фраз для перфекционистов
Также можно реализовать получение координат через отправление геолокации боту, тогда получится в разы точнее.
Штош. Спасибо за прочтение. Надеюсь на отзывы, комментарии и критику.
Источник: habr.com
Телеграмма с метеостанции
На первых страницах журнала «История метеостанции М-2 Магнитогорск» сказано, что этот объект появился в Магнитогорске в 1931 году. Следующие пять лет станция меняла местоположение: то базировалась на берегу заводского пруда, то в Соцгороде рядом с горой Карадыр, пока не закрепилась на территории аэродрома ДОСААФ.
Далее на разлинованных страницах перечислены фамилии начальников, стихийное бедствие 1943 года, а после идет длинный перечень: где и когда был смонтирован тот или иной прибор.
Судя по всему, эти измерительные приборы, – по преимуществу механические –почти не менялись. Так было до 2011 года, когда начался плановый переход на автоматику. В этот год, бывший бухгалтер Винера Валерьевна Ращупкина, решила стать техником-метеорологом и прошла обучение на магнитогорской метеостанции М-2. Через несколько лет, она получила должность начальника станции.
– Долгое время наш коллектив был женским. Недавно мы приняли мужчину. У него золотые руки. Он не только выполняет свои профессиональные обязанности, но и делает мелкий ремонт. Например, починил розетки и сделал порог.
Сегодня метеостанция находится в здании ДОСААФ. Она состоит из маленькой комнатки снабженной телефоном и стационарным компьютером. Тот сообщается с метеоплощадкой, которая находится под открытым небом неподалеку от здания. Площадка насчитывает 26 квадратных метров, обнесена забором и щетинится измерительным приборами – механическими и автоматическими.
– Многие из тех, кто пытался здесь работать ушли еще на стадии обучения. Слишком много информации надо держать в голове, чтобы делать все правильно – говорит Винера Валерьевна.
Сама начальница тоже не сразу адаптировалась к профессиональным обязанностям. Зато теперь про каждый прибор может прочитать минилекцию. Оставляя за скобками терминологию и арифметические выкладки, на языке дилетанта это звучит так:
Планшет для радиационных проб. Как видно на фото, он затянут марлей. На нее оседают мельчайшие фракции. Их вместе с марлей отправляют в лабораторию. Технологи говорят, по утрам марля бывает покрыта чем-то черным.
Они называют это «приправой с комбината».
Датчик для определения температуры почвы. Автоматический прибор, похожий на бытовой шланг. Его укладывают параллельно табельным термометрам, так чтобы корпус был погружен в снег, но не присыпан им.
Гелиограф. Внутри находится картонная лента. Ее вынимают и сморят: если солнечные лучи оставили прожиг, значит было солнце и можно вычислить долготу солнечного сияния; если нет, значит небо заволокли тучи, либо скрыло дымкой.
Рейки для определения высоты снежного покрова.
Вытяжные термометры. Четыре термометра, каждый из которых погружен на глубину: 1,6 метра; 1,2 м; 0,8 м; 0,2 м. Тот, что извлекли наружу, находится на глубине 0,8 м и показывает 2 градуса.
Мерзлотомер. Гибкая трубка, наполнена дистиллированной водой. Ее назначение – определять глубину промерзания почвы.
Станок ГИО. Эта железная конструкция, обладай она душой, была бы, пожалуй, мучеником. Она стоит тут, чтобы покрываться изморозью. Толщину изморози замеряют штангенциркулем.
Мачты с флюгерами. Три мачты – автоматическая и две механических – замеряют скорость ветра. Автоматика передает данные на компьютер; чтобы снять показания с механики, надо смотреть на флюгер и определять на глаз частоту колебаний дощечек.
Осадкомер Третьякова. Внутри похожей на цветок конструкции находится сменное ведро. В нем скапливаются жидкие и твердые осадки. Два раза в сутки ведро вынимают и замеряют уровень выпавших осадков.
Психрометрическая будка. Внутри смонтировано сразу несколько измерительных приборов: термометры и гигрометры.
Как видно по фото и комментариям, почти каждый автоматический датчик имеет табельный дубликат, чтобы в случае непредвиденных обстоятельств, вроде отключения электричества, можно было продолжить работу в штатном режиме. Впрочем, порой, неполадки возникают не из-за отключения электроэнергии, а из-за охочих до всего блестящего пернатых.
– С расположенного неподалеку кладбища прилетает множество ворон. Они хватают блестящие на солнце термометры, поднимаются с ними в воздух, но не могут удержать в клюве, роняют и разбивают.
Заменив разбитый термометр и сняв показания, техник-метеоролог возвращается в кабинет и садится за компьютер. Теперь необходимо составить то, что в нелишенной поэзии метеорологической номенклатуре именуется синоптической телеграммой.
В телеграмму вводит набор букв и цифр, они передают основные погодные параметры: скорость ветра, видимость, давление, температура, влажность и т.д. Эта информация шифруется с помощью универсального кода, который может расшифровать любой специалист и отправляется в Челябинский центр по гидрометеорологии и мониторингу окружающей среды. Здесь синоптики составляют прогноз погоды. Далее данные идут в Уральское управление по гидрометеорологии, и одновременно попадают в международную сеть, после чего оседают в архивах, чтобы пылиться там до тех пор, пока какой-нибудь климатолог, не затребует их для написания научной работы.
– Когда люди слышат про нас, то спрашивают: какая будет погода – говорит Винера Валерьевна. – Но этот вопрос не по адресу. В наши обязанности входит круглосуточно наблюдать за погодой и каждые три часа отправлять синоптическую телеграмму. Так что мы не синоптики, мы – метеорологи. Так и запишите.
P.S:
В журнале «История метеостанции» упоминается бедствие, которое обрушилось на Магнитогорск 27 июля 1943 года. Контраст между отстраненным и экономным стилем изложения и неуточненным количеством жертв и материальных разрушений, создает драматический эффект: «Был ливень с градом который дал осадков на 138 мм в течении 35 минут. Большие бедствия народного хозяйства – смыло много посевов, снесло много построек, утонуло много скота, были человеческие жертвы». Иных подробностей не приводится, но магнитогорские историографы – если таковые найдутся – могут внести ясность в эту загадочную запись.
Автор статьи: Михаил Кажаев
Источник: legendymagnitki.ru
Правила составления метеорологических бюллетеней.
1. Округление отклонений наземных значений давления атмосферы, температуры воздуха, средних отклонений плотности и температуры в слоях атмосферы, а также значений дирекционных углов направления и скорости среднего ветра производят до целых единиц в сторону ближайшего целого. При дробной части, равной половине единицы (0,5 или 0-50), округление производят в сторону четного числа.
2. Если какие-либо данные фактически имеют меньшее количество цифр, чем отведено им по коду, то остающиеся места впереди этих цифр заполняются нулями.
З. Знак «минус», характеризующий отрицательные значения тех или иных данных, в бюллетень не записывают, а для его обозначения прибавляют число 5 к первой из отведенных для них цифр (при раскодировании таких групп цифр число 5 вычитается и значению метеоэлемента придается знак «минус»)
4. Отрицательные отклонения температуры (-50° С и ниже) записываются в, бюллетень без прибавления условного числа 5 (при раскодировании таких групп о знаке судят по температуре воздуха в данном районе)
Аэрологические телеграммы «слой», «шторм» и «кн-04». Телеграмма слой
На рис.1 представлен вид телеграммы «Слой» при выводе ее на печать в аппаратуре РПМК.
В телеграмме СЛОЙ:
- ИИ — номер большого района
- иии — номер станции в большом районе
- ДД — дата (число месяца по гринвичскому времени)
- ЧЧ — часы (по гринвичскому времени)
- В — вид запрашиваемых данных (по Единому Коду для передачи данных о среднем ветре, код В — цифра 1)
- 1-7 — порядковый номер слоя
- НН — направление среднего ветра в десятках градусов
- СС — скорость среднего ветра в километрах в час. При скорости 100 км/час и более кодируется в десятках км/час, при этом к значению десятков градусов направления среднего ветра прибавляется число50
Телеграмма «Шторм»
Телеграмма «Шторм» выдается при скорости действительного ветра 40 м/с и более на высотах в слое до 16 км и составляется по схеме:
«Шторм — IIiii — YYGGО — 11111 — 6НННН — 6ДДVV».
В телеграмме ШТОРМ КН-04:
- II — номер района;
- Iii — номер станции;
- YY — число месяца;
- GG — часы; .
- О — отличительная цифра группы;
- 11111 — отличительная группа;
- 6 — отличительная цифра группы;
- НННН — высота штормового ветра в декаметрах;
- ДД — направление ветра в десятках градусов;
- VV — скорость ветра в м/с.
Аэрологическая телеграмма кн-04
Аэрологическая телеграмма КН-04 (код для передачи данных температурно-ветрового зондирования атмосферы) в настоящее время используется на территории стран СНГ в качестве аэрологических сообщений. Она имеет кодовую форму, подразделяющуюся на четыре части А, В, С, D и десять разделов.
В частях А и С сообщаются данные на стандартных изобарических поверхностях, в частях В и D — данные на уровнях особых точек в профилях температуры, влажности и ветра. При атом части А и В должны содержать данные до уровня 100 гПа включительно, а части С и D— выше этого уровня. Указанные части содержат строго определенные разделы, в каждый из которых помещены конкретные данные, характеризующие сведения о месте и времени наблюдения, тропопаузе, максимальном ветре и его вертикальных сдвигах, радиационной поправке, системе слежения, облачности, уровнях особых точек в различных профилях.
Телеграмма в коде КН-04 составляется по схеме:
TTAA YYGGId IIiii 99P0P0P0 T0T0Td0D0D0 d0d0f0f0f0 00h1h1h2 Т1T1Td1D1D1 d1d1f1f1f1 92h2h2h2 T2T2Td2D2D2 d2d2f2f2f2 , 85h3h3h3T3T3Td3D3D3 d3d3f3f3f3 … … … … 88РtРtРt(88999) TtTtT0tDtDt dtdtftftft 77(66) РmРmРm dmdmfmfmfm 4VbVbVaVa TTBB YYGG/ IIiii 00P0P0P0 T0T0Td0D0D0 11P1P1P1 T1T1Td1D1D1 2P2P2P2 T2T2Td2D2D2 … … nnPnPnPn TnTnTdnDnDn 21212 00P0P0P0 d0d0f0f0f0 11P1P1P1 d1d1f1f1f1 … … nnPnPnPn dndnfnfnfn 31313 srrarasasa 8GGgg 9snTwTwTw 41414 NLCLhCMCN
ТТАА 13001 26063 99020 21324 25002 00217 17519 27508 92680 20519 30008 85460 22759 29008
70936 17764 30012 50540 31363 30020 40694 42759 31524 30881 57756 32026 25994 67550 33025
20126 74543 33023 15295 71745 33020 10535 74147 32022 88199 74743 33023 77180 32032
ТТВВ 1300/ 26063 00020 21324 11970 10950 22948 11356 33930 10158 44900 10959 21212 00020
25002 11012 27009 22973 28004 33738 30010 41414 66222
Условные обозначения групп и цифр кода:
ТТАА – буквенный указатель кодовой формы и ее части (аэрологическая телеграмма в коде КН-04, часть А)
YYGGId – группа даты/времени зондирования
YY – число месяца(13 числа)
GG – срок наблюдения по МСВ – время выпуска радиозонда округленное до целых часов. Стандартные международные сроки аэрологических наблюдений – 00, 06, 12. 12 ч МСВ.
(00 – часов по МСВ)
Id – указатель последней стандартной изобарической поверхности, для которой в сводку включены данные о ветре;
IIiii – индекс наземной аэрологической станции (26063 – С.Петербург)
II – номер района (26-район по международной классификации)
iii – номер станции в пределах района (063 – станция)
99P0P0P0 Т0T0T0D0D0 d0d0f0f0f0
(99020 21324 25002)
– данные у поверхности земли (на уровне станции) в момент выпуска радиозонда.
– группа давления у поверхности земли
99 – отличительные цифра
P0P0P0 – давление в целых гПа
– группа температуры у поверхности
T0T0Td0D0D0
– группа температуры у поверхности земли
T0T0 – температура в целых градусах Цельсия (не округленная)
Td0 – приближенное значение десятых долей градуса температуры воздуха и одновременно указатель знака температуры воздуха ( четное число – “+”; нечетное число – “–”); ( — 21. 3 О С)
D0D0 – дефицит точки росы. Кодируются согласно таблицы 2. (2.4 О С)
– группа ветра у поверхности земли
d0d0 – направление ветра, округленное до ближайших 5 или 10 О (250 О )
f0f0f0 – скорость ветра в м/с или узлах.
Единицы скорости ветра указываются при кодировании числа зондирования следующим образом:
— если скорость ветра передается в узлах, то к числу месяца прибавляется 50 и полученное значение указывается на месте YY;
— если скорость ветра передается в м/c, число месяца указывается без изменения) (2 м/c)
00h1h1h1 T1T1Td1D1D1 d1d1f1f1f1
92h2h2h2 T2T2Td2D2D2 d2d2f2f2f2
85h3h3h3 T3T3Td3D3D3 d3d3f3f3f3
– Раздел значений метеовеличин на стандартных изобарических поверхностях 1000, 925, 850, 700, …., 100 гПа.
РnРn hnhnhn TnTnTdnDnDn dndnfnfnfn
(92680 20519 30008
85460 22759 29008
70936 17764 30012
10535 74147 32022)
РnРn hnhnhn TnTnTdnDnDn dndnfnfnfn
(92680 20519 30008
85460 22759 29008
70936 17764 30012
10535 74147 32022) – Группа высоты стандартных изобарических
РnРn hnhnhn TnTnTdnDnDn dndnfnfnfn
(92680 20519 30008
85460 22759 29008
70936 17764 30012
10535 74147 32022) – PnPn – давление на стандартных изобарических
поверхностях (Кодируются согласно таблицы 2):
РnРn hnhnhn TnTnTdnDnDn dndnfnfnfn
92680 20519 30008
85460 22759 29008
70936 17764 30012
10535 74147 32022) – hnhnhn – геопотенциал стандартных
До 700 гПа включительно сообщается в геопотенциальных метрах, при этом цифры тысяч отбрасываются.
Начиная с 500 гПа – в геопотенциальных декаметрах, при этом десятки тысяч отбрасываются.
Высоты стандартных изобарических поверхностей в СА кодируются согласно таблицы 2).
15350 гп. м соответственно)
РnРnhnhnhn TnTnTdnDnDn dndnfnfnfn
92680 20519 30008
85460 22759 29008
70936 17764 30012
10535 74147 32022 – Группа температуры воздуха и дефицита точки
росы на стандартных изобарических поверхностях
РnРnhnhnhn TnTnTdnDnDn dndnfnfnfn
92680 20519 30008
85460 22759 29008
70936 17764 30012
10535 74147 32022 – TnTn – температура воздуха на стандартных
изобарических поверхностях в целых градусах Цельсия (не округленная)
– Tdn – приближенное значение десятых долей
градуса температуры воздуха и одновременно указатель знака температуры воздуха ( четное
число — «+»; нечетное число — «–»)
— 74.1 О С соответственно)
РnРnhnhnhn TnTnTdnDnDn dndnfnfnfn
92680 20519 30008
85460 22759 29008
70936 17764 30012
10535 74147 32022 – DnDn – температура воздуха и дефицит точки росы
на стандартных изобарических поверхностях. Кодируется согласно табл. 3.
4.7 О С соответственно)
РnРnhnhnhn TnTnTdnDnDn dndnfnfnfn
92680 20519 30008
85460 22759 29008
70936 17764 30012
10535 74147 32022 – Группа направления и скорости ветра на
стандартных изобарических поверхностях
РnРnhnhnhn TnTnTdnDnDn dndnfnfnfn
92680 20519 30008
85460 22759 29008
70936 17764 30012
10535 74147 32022 – dndn – направление ветра на nn –й стандартной
изобарической поверхности, округленное до ближайших 5 или 10o
320 О – соответственно)
РnРnhnhnhn TnTnTdnDnDn dndn fnfnfn
92680 20519 30008
85460 22759 29008
70936 17764 30012
10535 74147 32022 – fnfnfn – скорость ветра в м/с (или узлах) на nn –й
стандарт ной изобарической поверхности.
22 м/с соответственно)
88PtPtPt TtTtTtDtDt dtdtftftft
(88199 74743 33023)
– Раздел сведений о тропопаузе.
88 – отличительные цифры раздела
PtPtPt – давление на уровне тропопаузы в целых гПА
TtTtTdtDtDt
– Группа температуры и дефицита точки на уровне тропопаузы.
TtTtTdtDtDt
TtTt – температура воздуха на уровне тропопаузы в целых градусах Цельсия (не округленная)
Tdt – приближенное значение десятых долей градуса температуры водуха и одновременно указатель знака температуры воздуха ( четное число – “+”; нечетное число – “–”)
TtTtTdtDtDt
DtDt – дефицит точки росы уровне тропопаузы в градусах Цельсия. Кодируется согласно табл. 3.
– Группа направления и скорости ветра на уровне тропопаузы.
dtdtftftft
dtdt – направление ветра на уровне тропопаузы округленное до ближайших 5 или 10 О
dtdtftftft
ftftft – скорость ветра на уровне тропопаузы
77(66) PmPmPm dmdmfmfmfm
– Раздел сведений о максимальном ветре (в части А – до уровня 100гПа включительно)
77(66) PmPmPm
77 – во всех остальных случаях. (“уровень максимального ветра ниже наивысшего уровня зондирования”)
77(66) – отличительные цифры раздела:
66 – если уровень наибольшей максимальной скорости ветра соответствует наивысшей точке зондирования (при установленных нескольких уровнях максимального ветра);
77(66) PmPmPm
PmPmPm – давление на уровне максимального ветра в целых гПа.
– направление и скорость максимального ветра
dmdmfmfmfm
dmdm – направление округленное до ближайших 5 или 10 О
dmdmfmfmfm
fmfmfm – скорость максимального ветра в м/с
– Раздел сведений о вертикальных сдвигах ветра в слоях, расположенных между уровнем максимума ветра и уровнями на 1 км ниже и выше его.
4 – отличительная цифра
4VbVbVaVa
VbVb – абсолютное значение векторно разности ветра на уровне максимума и на уровне на 1 км ниже уровня максимума (в м/c)
VaVa – абсолютное значение векторно разности ветра на уровне максимума и на уровне на 1 км выше уровня максимума (в м/c)__
Источник: studfile.net