# Входи, порадник і дані — 0.4.0

## Початкові значення і захист

Початковий сценарій — 1ZR-FAE / ДВЗ, 97 кВт, 160 Н·м, 1500–6400 хв⁻¹;
маса 1600 кг, Cd 0,29, площа 2,2 м² та радіус кочення 0,31 м — авторські
значення автомобіля. Вони не приписуються конкретній комплектації Auris.
Панель двигуна відкривається першою. Електрична гілка заповнена для переходу
до BEV/P2/послідовного гібрида. Геометричні входи 720° — у `ice.html`.

Підстановка є чистою функцією: повертає нові параметри й перелік «було → стане».
Захист зберігає ручні значення; захищена ідентичність зберігає залежні
значення свого агрегату. Поля застосовуються лише окремою кнопкою після
валідації. Застаріла пропозиція після редагування/зміни захисту не діє.
Імпортована карта прив'язана до componentId; несумісну карту треба явно
скинути, а не перенести автоматично на інший агрегат.

## Розрахункові перевірки

Опір: F = mg Crr cos(arctan(i/100)) + mg sin(arctan(i/100)) +
0,5 ρ Cd A (v + v_w)|v + v_w|. У розгоні a = (Fдост − Fопір)/(m δ).
Уточнення середини кроку 0,1 с дає досягнуту швидкість, шлях та заряд.
Розрахунок не підміняє тягу потрібною за заданим v(t). Порівнюються кінетична
енергія та інтеграл роботи; окремо перевіряються електричний і механічний баланси.

Перевірка сталої швидкості — потужність S1 при початковому SOC; це не
визначення максимальної термічно сталої швидкості. Ухил інтегрується задану
тривалість зі зміною SOC. S2 у розгоні дозволено лише до меншого з часу,
заданого користувачем, і каталожного обмеження; потім використовується S1.
Відновлення пікового теплового ресурсу й динаміки охолодження не моделюється.

Електричний запас ходу: Eдоступ / Pхім × v для сталої швидкості, Voc та R.
Для гібридів це окрема оцінка electric-only із від'єднаним ДВЗ, не заводський
EV-режим керування. Коли вимогу пробігу встановлено 0, її не перевіряють.

До 48 варіантів утворюють 4 мотори × 2 кількості × 3 передачі × 2 ємності;
захищені поля та усунення дублікатів зменшують число. Вимоги, архітектура,
ДВЗ і маса не підганяються. Відхиляються невиконані вимоги, незабезпечена
місія й напруга нижча за каталожну опору. Допустимі впорядковуються за
ємністю батареї + 15 × кількість моторів. Це прозорий критерій простоти,
не ринкова вартість. Відбір не перебирає всі можливі батареї або інвертори,
не змінює архітектуру автоматично й не виконує серійний комплектувальний підбір.

## Імпорт числової карти

```bash
node powertrain/scripts/import-map.mjs metadata.json input.csv output.json
```

CSV: `rpm,torque_nm,value`. Значення втрат у W або витрати у g/s; частота
у 1/min, момент у N*m. Метадані: id, componentId, source, conditions,
quantity (`loss_w`/`fuel_g_s`), boundary та inputUnits. Для паливної карти
потрібна також maxTorqueNm за частотами. Порядок координат нормалізується;
пропуски стають null, не нулем. Дублі координат, неправильні одиниці,
недопустимі втрати й вихід за карту відхиляються.

`map-format-example.csv` та `map-format-example.metadata.json` — **синтетична
перевірка формату**, не карта EMRAX/EPA. Не підключати її до прогнозу.
Імпортер не виконує зовнішній MATLAB-код. Числові пакети EPA не отримані:
доказ спроб — `powertrain/data/epa-fetch-status.json`; наявність офіційного
посилання не прирівнюється до наявності даних.

## Порівняння експериментальних поїздок

```bash
node powertrain/scripts/validate-obd.mjs evidence.json aligned.csv comparison.json
```

Шаблони — `obd-validation-evidence.example.json` і `obd-validation-columns.csv`.
Колонки: trip_id, time_s, reference_fuel_g_s, model_fuel_g_s, voltage_v,
current_a, model_battery_w, soc, model_soc. Модельна потужність батареї завжди
має знак «+» при розряді; для реального струму знак оголошується у evidence.
SOC — частка 0–1. Джерело палива й електричних каналів треба описати явно.

Порівнюються лише заявлені контрольні поїздки; train/test не перетинаються.
Час усередині поїздки строго зростає; не виконується прихована синхронізація,
ресемплінг або оцінка затримок. Рядки з відсутніми потрібними каналами
відхиляються. Інтервали понад maxGapS виключаються й показуються як gapS.
Нульове покриття дає null, не «нульову витрату». Вихід містить масу палива,
клемну енергію, похибки й SOC; не доводить незалежність інструментів.

Цей CLI не генерує модельні канали автоматично й не перевчав GG2W.
Сирих OBD-поїздок користувача немає; наступна експериментальна валідація
потребує реальних логів. Показники програмних тестів не є її заміною.

## Відтворення прикладів порадника

`node powertrain/scripts/advisor-examples.mjs` повторно перевіряє скінченну
сітку для BEV та P2, записує звіт і JSON-сценарії. Ці приклади демонструють
модельний відбір, не виміряні автомобілі. Вони відкриваються кнопкою JSON.
Серед схем не порівнюється тільки паливо: завжди показано енергію й SOC.
