gost-54084 1.0.2
Оцифрованные табличные данные ГОСТ Р 54084-2010 (модели атмосферы в пограничном слое, 0–3000 м)
License: MIT
Requires Python: >=3.8
Keywords: ГОСТ, атмосфера, метеорология, пограничный слой

# ГОСТ Р 54084-2010

Модели атмосферы в пограничном слое на высотах от 0 до 3000 м для аэрокосмической практики. Параметры.

Данный репозиторий содержит оцифрованные табличные данные из стандарта в виде Python-модуля, а также скрипт-парсер, использованный для извлечения данных из PDF.

## Установка

```bash
pip install gost-54084
```

Или из исходников:

```bash
git clone https://github.com/ssubbotin/gost-r-54084-2010.git
cd gost-r-54084-2010
pip install -e .
```

## Содержимое

- `src/gost_54084/` — Python-пакет с данными всех 108 таблиц стандарта
- `parse_gost54084.py` — скрипт для извлечения данных из постраничных текстовых файлов PDF
- `tests/test_gost_data.py` — тесты консистентности данных (структура, физические диапазоны, монотонность)
- `ERRORS.md` — перечень известных проблем в данных (ошибки оригинала стандарта)

## Параметры атмосферы

| Параметр | Переменная | Значения |
|---|---|---|
| Температура | `temperature` | T [К], σT [К] |
| Давление | `pressure` | P [гПа], σP [%] |
| Плотность | `density` | ρ [кг/м³], σρ [кг/м³] |
| Скалярная скорость ветра | `scalar_wind_speed` | Vs [м/с], σv [м/с] |
| Зональная скорость ветра | `zonal_wind_speed` | Vx [м/с], σvx [м/с] |
| Меридиональная скорость ветра | `meridional_wind_speed` | Vy [м/с], σvy [м/с] |
| Результирующий ветер | `resultant_wind` | VR [м/с], θR [°] |
| Удельная влажность | `specific_humidity` | q [г/кг], σq [г/кг] |
| Относительная влажность и точка росы | `relative_humidity_dewpoint` | Q [%], Dp [°C] |

## Пространственное покрытие

- 73 географических сектора на территории РФ, стран СНГ и Балтии
- Широта: 40°–75° с.ш. (шаг 5°)
- Долгота: 20° в.д. — 170° з.д. (шаг 10°–20°)
- 9 уровней высоты: 10, 100, 300, 600, 1000, 1500, 2000, 2500, 3000 м
- 5 сезонов: зима, весна, лето, осень, среднегодовые

## Использование

```python
from gost_54084 import temperature, pressure, HEIGHTS

# Профиль температуры: 55° с.ш., 30° в.д., зима
for h, (t, sigma_t) in zip(HEIGHTS, temperature[(55, 30)]["winter"]):
    print(f"  {h:5d} м: T = {t:.1f} К, σT = {sigma_t:.1f} К")

# Профиль давления: 60° с.ш., 50° в.д., лето
for h, (p, sigma_p) in zip(HEIGHTS, pressure[(60, 50)]["summer"]):
    print(f"  {h:5d} м: P = {p:.1f} гПа, σP = {sigma_p:.1f}%")
```

Ключ словаря — кортеж `(широта_с.ш., долгота_в.д.)`, отрицательная долгота означает западную. Каждый сезон содержит список из 9 кортежей `(среднее, отклонение)`, по одному на каждый уровень высоты из `HEIGHTS`.

## Точность

Данные извлечены из PDF методом OCR-парсинга текстового слоя и прошли четыре раунда верификации:

1. Автоматическое исправление 100 точечных ошибок OCR (инверсии кортежей, склейки цифр, искажения)
2. Ручная сверка всех значений с постраничными PDF-файлами оригинала (исправлены систематические ошибки парсинга)
3. Исправление ~84 оставшихся артефактов парсинга (сдвиги столбцов, OCR-склейки, подмена полей)
4. Восстановление 13 отсутствовавших сезонов `annual` из PDF (pressure 135°ВД, meridional_wind_speed 60°ВД)
5. Восстановление 109 значений `(None, None)` ручной сверкой с постраничными PDF-файлами (pressure, density, zonal_wind_speed, resultant_wind, relative_humidity_dewpoint)

Все обнаруженные ошибки парсинга исправлены, пропущенных значений нет. Оставшиеся аномалии — ошибки оригинального печатного издания стандарта, подтверждённые сверкой с PDF. Полный перечень — в [`ERRORS.md`](https://github.com/ssubbotin/gost-r-54084-2010/blob/main/ERRORS.md).