Skip to main content
Glama
dfieser

io.github.dfieser/thermocouple-its90

by dfieser

thermocouple-its90

Преобразование термопар по NIST ITS-90 для Python: напряжение в температуру и температуру в напряжение для всех восьми буквенных типов (B, E, J, K, N, R, S, T), с компенсацией холодного спая и коэффициентами Зеебека. Тестовый набор проверяет все 12 026 табличных точек справочных таблиц NIST при каждом запуске.

Tests PyPI Python License: MIT DOI

Только стандартная библиотека, без зависимостей, полностью типизировано. Браузерная версия этого движка работает как бесплатный онлайн-калькулятор термопар, поставляемый из этого репозитория при каждом релизе.

Установка

pip install thermocouple-its90

Related 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.

Связанные материалы

Цитирование

Если эта библиотека полезна в опубликованной работе, пожалуйста, цитируйте её через концептуальный 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.

A
license - permissive license
Not graded
quality - not tested
A
maintenance

Maintenance

Maintainers
Response time
0dRelease cycle
2Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    MCP server for converting cooking measurements (volume, weight, temperature) between common units like ml, cup, g, oz, and Celsius/Fahrenheit.
    3
    1
    MIT
  • A
    license
    B
    quality
    B
    maintenance
    An MCP server for controlling lab instruments (oscilloscopes, signal generators, etc.) via standardized interfaces like USBTMC, RS-232, and LAN.
    100
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    This 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.
    MIT

View all related MCP servers

Related MCP Connectors

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/dfieser/thermocouple-its90'

If you have feedback or need assistance with the MCP directory API, please join our Discord server