io.github.dfieser/thermocouple-its90
thermocouple-its90
Преобразование термопар по NIST ITS-90 для Python: напряжение в температуру и температуру в напряжение для всех восьми буквенных типов (B, E, J, K, N, R, S, T), с компенсацией холодного спая и коэффициентами Зеебека. Тестовый набор проверяет все 12 026 табличных точек справочных таблиц NIST при каждом запуске.
Только стандартная библиотека, без зависимостей, полностью типизировано. Браузерная версия этого движка работает как бесплатный онлайн-калькулятор термопар, поставляемый из этого репозитория при каждом релизе.
Установка
pip install thermocouple-its90Related MCP server: mcp-units
Преобразование милливольт термопары в температуру
from thermocouple_its90 import TypeK
TypeK.emf(300.0) # 12.209 (mV at 300 C, 0 C reference: the table value)
TypeK.temperature(12.209) # 300.0 (C, ice-bath reference)
TypeK.seebeck(300.0) # 0.0416 (mV per C)
TypeK.range # (-270.0, 1372.0)Компенсация холодного спая
Термопара измеряет разность между своими спаями, а справочные таблицы предполагают, что холодный спай находится при 0 C. Если клеммы вашего прибора находятся при комнатной температуре, прямое обращение к таблице будет неверным:
from thermocouple_its90 import TypeK
# Meter reads 4.096 mV, terminals at 25 C:
TypeK.temperature(4.096) # 100.0 C <- naive lookup, wrong
TypeK.temperature(4.096, reference=25.0) # 124.3 C <- the actual answerВсе восемь типов работают одинаково:
from thermocouple_its90 import get, letters
letters() # ['B', 'E', 'J', 'K', 'N', 'R', 'S', 'T']
get("s").emf(1400.0) # 14.373 mV
get("t").temperature(-4.648) # -149.98 C (cryogenic ranges included)Точность, проверенная, а не заявленная
Прямые справочные функции воспроизводят все 12 026 точек с шагом в один градус справочных таблиц NIST в пределах их печатного округления 0,001 мВ. Полное сравнение выполняется в CI при каждом push (
tests/test_full_tables.py).Инверсия начинается с опубликованных обратных полиномов ITS-90 и уточняется итерациями Ньютона по точной прямой функции. Обратные преобразования сходятся с точностью до микроградусов вместо диапазонов погрешности 0,02–0,06 C у обратных полиномов.
Типы K, E и T инвертируются во всём своём криогенном диапазоне (до -270 C), ниже границы, где заканчиваются опубликованные обратные полиномы.
Тип B обрабатывается с учётом его физики: его ЭДС немонотонна вблизи комнатной температуры, поэтому инверсия ниже 0,291 мВ (около 250 C) отклоняется с объяснением, вместо того чтобы вернуть один из двух возможных ответов.
MCP-сервер для ИИ-агентов
Языковые модели ошибочно запоминают полиномы термопар. Пакет включает сервер Model Context Protocol, чтобы агенты вызывали проверенную реализацию вместо этого:
pip install "thermocouple-its90[mcp]"
claude mcp add thermocouple -- thermocouple-its90-mcpИнструменты: thermocouple_to_temperature, thermocouple_to_emf,
thermocouple_types.
Происхождение данных и лицензирование
Коэффициенты были извлечены машинным способом, никогда не набраны вручную,
из базы данных термопар NIST ITS-90 (SRD 60, https://its90.nist.gov/).
База данных воспроизводит NIST Monograph 175 (Burns, Scroger, Strouse,
Croarkin, and Guthrie, 1993) — публикацию правительства США, не охраняемую
авторским правом. Канонический набор данных находится в data/its90.json;
_data.py генерируется из него, и CI завершается ошибкой при расхождении.
Код лицензирован по MIT.
Связанные материалы
Онлайн-калькулятор — этот движок в браузере, с примерами и FAQ
Другие проверенные инженерные калькуляторы того же автора, включая инструменты для эталонных электродов, состава сплавов, диффузии и XRD
lcf-strain-life — тот же шаблон «библиотека плюс MCP» для анализа малоцикловой усталости
Цитирование
Если эта библиотека полезна в опубликованной работе, пожалуйста, цитируйте её
через концептуальный DOI https://doi.org/10.5281/zenodo.22036393, который
всегда указывает на последний релиз (см. CITATION.cff). Пожалуйста, также
цитируйте исходный справочник: Burns, G. W., Scroger, M. G., Strouse, G. F.,
Croarkin, M. C., & Guthrie, W. F. (1993). Temperature-electromotive force
reference functions and tables for the letter-designated thermocouple types
based on the ITS-90 (NIST Monograph 175). NIST.
This server cannot be deployed
Maintenance
Related MCP Connectors
MCP server for aerospace calculations: orbital mechanics, ephemeris, DSN operations, ...
Remote MCP server for deterministic educational practice-assessment score conversions.
QuLab MCP remote server (Streamable HTTP) for computational science and lab tools.
Engineering calculation MCP server for oil and gas engineering applications.
Related MCP Servers
- AlicenseAqualityFmaintenanceA universal MCP server that exposes all UTCP-registered tools to MCP clients while providing a web interface for tool management.714 npm205MIT
- AlicenseAqualityDmaintenanceMCP server for converting cooking measurements (volume, weight, temperature) between common units like ml, cup, g, oz, and Celsius/Fahrenheit.31MIT
- AlicenseBqualityBmaintenanceAn MCP server for controlling lab instruments (oscilloscopes, signal generators, etc.) via standardized interfaces like USBTMC, RS-232, and LAN.100MIT
- AlicenseAqualityCmaintenanceThis MCP server enables AI clients to calculate the boiling temperature of water at a given absolute pressure using the IAPWS-IF97 standard, separating natural-language reasoning from authoritative scientific computation.1MIT