# EPA: дані, конвертація та незакриті залежності · 0.7.0

Стан на 25.09.2026: **повні числові карти компонентів EPA не встановлено**.
Офіційні сторінки та адреси пакетів перевірено; завантаження ZIP у цьому
середовищі не дало оригінальних байтів. Жодного хешу, випробувального рядка,
паливної матриці або паспортного обмеження не вигадано.

## Що реально є в комплекті

`Data/EPA/raw/uddscol.csv`, `hwycol.csv`, `us06col.csv` — точні копії вже наявних
CSV користувача з окремого Automobile/EPA у Drive. `cycles/` містить нормалізовані
імена колонок; `cycles.json` — рядки, походження й SHA-256 обох представлень.
Це **часові графіки швидкості, не карти витрати палива або втрат мотора**.
Оригінальні CSV використовують уже перераховану швидкість у км/год; її не
перераховано повторно. Вони не оголошені щойно звіреними побайтово з EPA.
Ухил 0% — явне припущення нормалізованого графіка, не додаткове вимірювання.

| Графік | Точки | Тривалість, с | Інтеграл заданої відстані, км |
|---|---:|---:|---:|
| UDDS | 1370 | 1369 | 11,9902088544 |
| HWFET | 766 | 765 | 16,5065086372 |
| US06 | 601 | 600 | 12,8875500161 |

Відстань — трапеційний інтеграл заданої швидкості. Якщо модель не забезпечує
графік, ця відстань не є досягнутим пробігом. UDDS не називається повною
сертифікаційною процедурою FTP-75 із холодним запуском і витримкою.

## Пакети, для яких потрібні оригінали

Точні перевірені адреси — `Data/EPA/packages.json`: Toyota A25A-FKS / Tier 3
(2020-07-30), BMW N57 diesel (2018-06-11), Prius MG2 EMOT (2023-04-06).
`catalog.json` має порожній `packages`: відсутній файл не є встановленою картою.
У нотатці Automobile `LOCAL-MAP-SOURCES.md` названо локальний каталог
`Work/Vehicle_simulation/EPA_ALPHA`; його оригінальні ZIP не знайдено серед
доступних файлів Drive. Наявні 1ZR і GG2W не перейменовуються на A25A.

EPA розрізняє карти на основі випробувань і модельних/опублікованих матеріалів.
Навіть повна карта на основі випробувань є обробленим набором: її прямокутні
масиви можуть містити нульову частоту, від’ємні моменти та області поза WOT.
Позначка `processed-benchmark-map` не означає «кожна клітинка виміряна».

## Відтворюваний шлях імпорту

Стандартний запуск, тестування й збірка **ніколи не завантажують дані**.
Окрема команда завантаження працює лише за явним викликом користувача:

```bash
node scripts/fetch-epa.mjs --list
node scripts/fetch-epa.mjs a25a-tier3-20200730
node scripts/import-alpha.mjs --list Data/EPA/raw/a25a-tier3-20200730.zip
```

Завантажувач допускає лише вказані HTTPS-адреси EPA, не перезаписує оригінал,
перевіряє структуру ZIP і записує SHA-256. Він не доводить справжність видавця
самим хешем. У цьому середовищі успішного завантаження повних пакетів не було.
Можна замість цього передати вже збережений оригінальний ZIP.

За переліком файлів і документацією конкретного пакета заповніть копію
`templates/*metadata.template.json`. Значення `null` навмисно не приймаються:
потрібні точний `.m`-файл, орієнтація матриці, одиниці, робочі межі, для палива
LHV і густина того самого палива. Не підставляйте LHV бензинового прикладу ICE
або specific gravity як густину без перевірки визначення й температури.
Для електропакета також потрібен окремий узгоджений профіль S1/S2, моментів,
струмів, швидкості й напруги; вони не виводяться з назви «60 kW».

```bash
node scripts/import-alpha.mjs original.zip reviewed-metadata.json Data/EPA/maps
node scripts/register-component.mjs Data/EPA/maps/MAP-ID/component-package.json
bash run.sh --check
bash run.sh --build-only
```

Перетворювач зберігає `original.zip`, `source.m`, введену `metadata.json`,
нормалізовану `map.json`, `component-package.json` і `receipt.json` у новому
каталозі. Реєстрація у базі — окрема явна операція; робочі файли не замінюються
мовчки. Тимчасово відкрити готовий `component-package.json` можна кнопкою
«Карта / компонент / батарея JSON» у Powertrain, із переглядом підстановки.
Збережений workspace переносить пакет і відновлює його у новому сеансі.

## Підтримана межа адаптера

Читаються лише літеральні MATLAB-масиви, а не MATLAB-програма: числа, NaN,
перенесення, коментарі й явне транспонування. Виклики функцій, діапазони
`1:10`, посилання на змінні та вирази замість чисел відхиляються. Код `.m`
ніколи не виконується. Це **вузький адаптер, перевірений синтетичними тестами**,
не доказ сумісності з усіма ще не отриманими ALPHA ZIP.

Швидкість rad/s перетворюється на rpm множенням на 30/π; g/s — на kg/s
діленням на 1000. Інтерполяція виконується за витратою або втратами, не за
ККД при нульовій потужності. WOT і генераторна огинаюча зберігаються окремо
від прямокутних осей. `null` і маска недоступності не стають нульовими втратами.
Усі ненульові ваги інтерполяції повинні мати наявні дані; екстраполяції немає.

EMOT має межу мотор + інвертор: втрати інвертора не віднімаються вдруге.
Межа `motor-only` враховує окремий заданий інвертор. Тяга й генерація мають
власні допустимі моменти. EDU і BISG відхиляються: адаптер вихідного вала,
редуктора/ременя і його зворотних втрат ще не реалізований.

У звіті зберігаються частки часу з невідомим паливом/помилкою карти та перший
непокритий режим. Це охоплення обчислювальних даних, **не частка виміряних
клітинок**. Ідентифікація cold-start, transient penalties і fuel-cut не
виводиться з нульового значення паливної клітинки. Режим вимкненого ДВЗ
визначається контролером окремо від холостого ходу.

## Контроль і незалежна перевірка

`audit-map.mjs` читає вже узгоджені CSV-пари й явний evidence JSON.
Контроль джерельних вузлів (`source-reproduction`) відокремлений від заявлених
незалежних груп (`independent-holdout`). Спільні training/validation групи
відхиляються; пропущені значення не включаються в RMSE як нулі. Цей засіб не
доводить незалежність або метрологічну якість даних за самого лише JSON.

Для завершення EPA-частини потрібні оригінальні ZIP, перевірка документації
та контрольних вузлів, меж і знаків конкретної конвертації. Для незалежної
валідації потрібні не використані при побудові карти випробування.

## Першоджерела

US EPA, Combining Data into Complete Engine ALPHA Maps:
https://www.epa.gov/vehicle-and-fuel-emissions-testing/combining-data-complete-engine-alpha-maps

US EPA, Combining Data into Complete eMotor ALPHA Maps:
https://www.epa.gov/vehicle-and-fuel-emissions-testing/combining-data-complete-emotor-alpha-maps

US EPA, Dynamometer Drive Schedules:
https://www.epa.gov/vehicle-and-fuel-emissions-testing/dynamometer-drive-schedules

Сторінки перевірено 25.09.2026; локальні дані та перетворення позначені окремо.

Скидання карт-підмін прибирає тимчасові importedFuel/importedMotor та SOC/T
батарею. Воно не видаляє зареєстрований компонент із власною картою. Для
повернення до старого компонента виберіть його явно через перегляд підстановки.
