# GURU — руководство по `guru-tsv-cat` (RU)

**Назначение.**
- Объединение нескольких TSV c сохранением единственного заголовка (объединение столбцов).
- Подготовка прямоугольной сетки EOS для расчётов в режимах `grid` (`guru-isentrope`, `guru-hugoniot`) из «рассеянных» TSV.

---

## Синтаксис
```bash
# Склейка (по умолчанию)
guru-tsv-cat -o merged.tsv file1.tsv file2.tsv [file3.tsv ...]

# Формирование прямоугольной сетки из «рассеянных» точек
guru-tsv-cat --mode grid -o grid.tsv inputs/*.tsv \
  [--tol-T dT] [--tol-rho dR] [--min-cover-frac f]
```

**Режимы**
- `cat` — объединение столбцов по всем входам; пропуски оставляются пустыми; в выход пишется один заголовок.
- `grid` — чтение строк со столбцами `T, rho, P, E`/`E_atom` из одного или нескольких TSV, кластеризация `T` и `rho` по допускам в прямоугольную сетку, проверка покрытия, заполнение нескольких отсутствующих ячеек локальной интерполяцией и запись сетки с колонками `T  rho  P  E_atom`.

Опции (grid)
- `--tol-T`, `--tol-rho` — абсолютные допуски для кластеризации уникальных T и rho (по умолчанию: 1e-6 K, 1e-9 г/см³).
- `--min-cover-frac` — минимальная доля покрытия `#present / (|T|*|rho|)` для принятия сетки (по умолчанию: 0.7).

**Примеры**
```bash
# Склейка статистик с разными заголовками (объединение столбцов)
guru-tsv-cat -o all_T300.tsv T300_part1.tsv T300_part2.tsv

# Подготовить прямоугольную сетку из разбросанных thermo TSV
guru-tsv-cat --mode grid -o EOS_grid.tsv thermo/*.tsv --tol-T 5 --tol-rho 0.01
```

**Диагностика**
- Ошибка «coverage too sparse» при построении сетки — добавьте точки так, чтобы покрытие по T×rho было не ниже `min-cover-frac`.
- Единицы: ожидаются `T [K]`, `rho [г/см³]`, `P [кбар]`, `E [эВ/атом]` (или `E_atom`).
