Психрометрия является прикладной научной дисциплиной, которая изучает способы измерения степени холода и влажности. Её основу составляют различные психрометрические показатели, а также способы их измерения. Особое значение данная наука получила в сфере метеорологических наблюдений. Психрометрические показатели – это группа физических величин, описывающих состояние атмосферы, а именно температуру и влажность, при проведении различных видов наблюдений, например при приземных метеорологических наблюдениях (наблюдения, проводимые в непосредственной близости от поверхности земли). В настоящее время приземные метеорологические наблюдения производятся в автоматическом, ручном и гибридном режимах, в зависимости от типа метеорологической станции. Наравне с другими видами метеорологических наблюдений, такими как аэрологические, гидрологические, ионосферные, гелиофизические и другие, приземные метеорологические наблюдения играют важную роль в формировании важнейшей метеорологической информации, которая служит основой в синоптическом прогнозировании, т.е. составлении краткосрочных прогнозов погоды.
Нами уже была разработана система обработки и формирования метеорологической информации для автоматизации наблюдений без привлечения автоматизированных метеорологических комплексов, что позволило отойти от использования больших, печатных психрометрических таблиц [1]. Однако в данной системе расчет психрометрических показателей происходил в стороннем программном приложении свободного распространения, а именно «Психрометрические таблицы», разработанном ФГУП «КОМЕТ» в 2006 г. [2]. В данный момент на рынке информационных ресурсов нет большого выбора приложений по данной предметной и области, так как чаще всего решения для расчета различных метеорологических показателей поставляются в интегрированных программно-аппаратных комплексах, а не в виде отдельных программных продуктов. Поэтому нет возможности объективно сравнить это приложение с другими, так как аналоги отсутствуют. Результаты этих расчетов превышали погрешность, установленную ГОСТ 8.524-85 «Таблицы психрометрические. Построение, содержание и расчетные соотношения» [3]. Вследствие этого, проблема проектирования и разработки программного приложения для расчета психрометрических показателей остается актуальной.
Цель исследования: основное предназначение психрометрических таблиц заключается в определении характеристик влажности воздуха по измеренным значениям температуры воздуха сухого термометра (t) и температуры смоченного термометра (t’), которые выражены в градусах Цельсия ( °C). Вышеуказанные показатели позволяют определить:
- парциальное давление водяного пара (e) в гектопаскалях;
- относительную влажность воздуха (f) в процентах;
- точку росы (td) в градусах Цельсия;
- дефицит насыщения водяного пара в гектопаскалях.
Особенностью психрометрических таблиц является их многовариантность, т.е. можно найти абсолютно любой психрометрический показатель влажности зная только температуру воздуха и один из вышеперечисленных показателей.
При расчете психрометрических таблиц за основу берутся расчетные соотношения зависимости давления насыщенного водяного пара от температуры. Эти зависимости в соответствии с «Техническим регламентом» Всемирной метеорологической организации [4] имеют вид:
- для давления насыщенного водяного пара над поверхностью воды
; (1)
- для давления насыщенного водяного пара над льдом
(2)
Здесь T1 = 237,16 K (t1 = 0,01 °C) – температура равновесия между водой, льдом и водяным паром (тройная точка воды); T – температура по абсолютной шкале, связанная с температурой t по шкале Цельсия соотношением T = 273,15 + t.
На основе вышеуказанных формул базируются формулы основных психрометрических показателей.
Формулы (1) и (2) справедливы для однокомпонентной системы, т.е. в предположении чистого водяного пара вне смеси его с другими парами и газами. Для смеси водяного пара с воздухом при давлении p и температуре t полученные по формулам (1) и (2) значения насыщенного давления следует увеличить на значение корректирующей функции для воды χв,w(p, t) и для льда χв,i(p, t) [5], значения которых приведены в таблице.
Значения корректирующих функций
t χ |
40 |
30 |
20 |
10 |
0 |
–10 |
–20 |
–30 |
–40 |
Вода |
1,0048 |
1,0044 |
1,0041 |
1,004 |
1,004 |
1,0041 |
1,0043 |
1,0046 |
1,0049 |
Лед |
– |
– |
– |
– |
1,004 |
1,0041 |
1,0043 |
1,0046 |
1,005 |
Использование указанных значений корректирующих функций позволяет снизить относительную погрешность в среднем на 0,5 %. Помимо этого, проведение расчетов по стандартизированным формулам позволит увеличить процент снижения погрешности, что является основной целью нашего исследования.
Результаты исследования и их обсуждение
Одним из первостепенных по важности процессов разработки информационной системы является процесс проектирования. Он выделяет и устанавливает области решения, представленные в виде набора различных проблем управленческого, концептуального и, наконец, реализационного характера. В рамках процесса определяются и исследуются одна или несколько стратегий реализации системы со степенью детализации, соответствующей техническим и коммерческим требованиям и рискам [6]. Оптимальным вариантом выбора типа проектируемой системы является модульный тип. Проектируется единое ядро, включающее в себя набор основных функций системы, и полный спектр модулей, выполняющих определенный набор регламентированных операций по расчету метеорологических показателей, их кодировке и передаче. Взаимодействие ядра системы и модулей должно осуществляться посредством специального интерфейса. Проектирование выделяет и устанавливает области решения, представленные в виде набора различных проблем управленческого, концептуального и, наконец, реализационного характера. В рамках процесса определяются и исследуются одна или несколько стратегий реализации системы со степенью детализации, соответствующей техническим и коммерческим требованиям и рискам.
Этому процессу предшествует этап формирования требований. Поскольку разработанное нами приложение является программным модулем для автоматизированной системы обработки и формирования метеорологической информации, то оно принимает на себя некоторые функции основной системы, что отражается на требованиях к модулю.
Программный модуль должен:
- обеспечивать прием необходимой для расчетов информации из основной системы и передачу ей же уже рассчитанных показателей;
- обеспечивать высокое быстродействие, тем самым не задерживая основной процесс контролирующей системы;
- обеспечивать высокую точность проводимых расчетов и минимизировать погрешность от эталонных значений;
- быть простым и понятным в использовании, иметь эргономичный интерфейс.
Цель проектирования – выявление ясной и относительно простой внутренней структуры, называемой архитектурой системы [7]. Так как архитектура системы полностью зависит от выполняемых ею функций, то требуется определить логику системы. Для этого нами были рассмотрены основные процессы, которые должен выполнять проектируемый модуль:
– обмен данными с контролирующей системой;
– проверка входных данных (проверка на целостность и логическая проверка);
– расчет показателей исходя из результатов логической проверки данных.
Основным фактором, обеспечивающим разработку качественного программного продукта, является понимание логики процессов обработки и выдачи информации. Для отражения логики процессов строятся объектные модели, что помогает придерживаться выбранного функционала будущей системы на этапе программирования и изменять его при необходимости. Особую роль в разработанном нами модуле расчета психрометрических показателей играет условие определения путей расчета на основе набора первичных данных. Изначально модуль запрашивает у контролирующей системы показания температуры сухого и смоченного термометра, а также значение влажности воздуха (если эти значение уже имеется в системе). Далее определяется вариант наступления события исходя из условия: если температура сухого термометра меньше –9,9 градусов Цельсия, то значение влажности определяется инструментально, с помощью гигрометра, а следом уже рассчитываются все остальные показатели. Если же температура сухого термометра больше указанного значения, то расчет влажности производится с помощью показаний смоченного термометра.
Это обусловлено тем, что смачивание термометра нецелесообразно при температуре воздуха меньше –9,9 градусов Цельсия, так как жидкость со смачиваемой поверхности термометра не будет испаряться, а будет стремительно замерзать, что не позволит верно определить влажность воздуха.
После определения архитектуры и логики приложения процесс разработки переходит на этап программирования. В качестве языка программирования был выбран C#, так как на нем написана контролирующая система, что облегчит передачу данных между ней и модулем. Более подробное обоснование выбора языка программирования было изложено в статье «Выбор технологии и платформы программирования для автоматизации метеорологических процессов».
На этапе программирования системы за основу были взяты условные алгоритмы, они позволяют оптимально реализовать достаточно сложную схему кодирования обработанной метеорологической информации. В качестве конечной платформы функционирования системы была выбрана операционная система семейства Windows версий 7 и выше. Разработка производилась в среде Microsoft Visual Studio 2015, на языке программирования C#. Данный язык был выбран нами для разработки, поскольку поддерживает как статическую, так и динамическую типизацию, позволяет организовывать локальные переменные и перегрузки функций; также он имеет стандартизацию ISO ECMA [8, 9].
Для обеспечения передачи информации между системой и модулем используется система общей памяти. Контролирующая система при появлении в ней необходимых значений от пользователя передает их в отдельный поток, где так называемый «писатель» записывает указанные значения в отдельный файл, а «читатель» модуля считывает их и обрабатывает. Схема обратной передачи данных выглядит аналогично. Таким образом, система из файлов для хранения информации и скриптов считывания/записи формирует общую память, позволяя быстро обмениваться информацией между модулем и системой. Также выделение информации в отдельный поток позволит не задерживать основной расчет данных в системе, что позволяет увеличить быстродействие системы. На рисунке представлена схема взаимодействия модуля с целевой системой.
Схема взаимодействия модуля и целевой системы
Так как основной целью разработки данного программного модуля является минимизация погрешности при расчете психрометрических показателей, то необходимо провести его функциональное тестирование с различными наборами входных данных. Для этого нами были сформированы входные значения показателей, которые характерны для различных погодных условий, что позволит избавиться от однотипности выбранных значений и добавит вариативность результатов. По сформированной выборке входных значений были произведены расчеты результирующих показателей в сравниваемых системах, а также сравнение результатов с эталонными значениями из психрометрических таблиц. Показатели, рассчитанные при помощи разработанного нами модуля, либо абсолютно совпадают с эталонными, либо имеют минимальное отклонение в 0,1 %, так как значения, рассчитанные ранее используемой системы, имеют среднее отклонение от эталона в 2,5–3 %, что является довольно большим значением и доказывает целесообразность проводимого исследования.
Заключение
Разработанный программный модуль полностью обеспечивает корректную передачу и получение расчетных показателей с системой, а также обеспечивает общий процесс, ускоряя его. Имеет более удобный и эргономичный интерфейс в отличие от своего предшественника. Так как основной целью разработки программного модуля являлась минимизации погрешности расчета психрометрических показателей, то для более детального анализа было проведено функциональное тестирование системы, в ходе которого сравнивались результаты работы разработанного программного модуля и ранее используемого приложения с психрометрическими таблицами, выступающее в качестве эталонного значения. Из полученных данных следует, что абсолютное отклонение расчетных показателей значительно меньше, чем в используемой ранее программе. Если также принять во внимание тот факт, что в разработанном нами программном модуле исходные данные передаются в автоматическом режиме и не требуют ручного ввода, то можно смело заявить, что его использование вместе с автоматизированной системой обработки и формирования метеорологической информации значительно повышает точность расчетов и скорость обработки информации.