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 installed
Maintenance
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
- AlicenseAqualityFmaintenanceA universal MCP server that exposes all UTCP-registered tools to MCP clients while providing a web interface for tool management.729203MIT
- 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
- AlicenseNot gradedqualityCmaintenanceThis 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
Related MCP Connectors
Conformance checker for MCP servers. Free, no key, verdicts recomputable and re-measured daily.
MCP server for fcc-ecfs
MCP server for doc2mcp documentation, generated by doc2mcp.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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