Мгновенное значение и среднее в архиве метеопоста
Два числа из одного метеопоста могут отличаться и оба быть правильными: одно относится к текущему измерению, другое — к среднему за интервал. Если передавать их под одним названием, получатель начнёт искать неисправность в связи. Семантику обработки фиксируют в программе и описании полей.
Разделить циклы
Запишите частоту измерений, период расчёта и период отправки. Они могут быть разными. Передача раз в несколько циклов не означает, что прибор измерял только один раз, а частая отправка одного среднего не создаёт новые исходные наблюдения.
Инструкция Average в CRBasic сохраняет среднее источника за выходной интервал в таблицу. Campbell Scientific — CRBasic Average instruction Для конкретного канала проверьте программу: какие выборки участвуют, как обрабатываются пропуски и где выполняется расчёт. Не переносите арифметическое среднее на любые метеопараметры без обоснования метода.
Определить временную привязку
Укажите начало и конец интервала либо однозначное правило метки. Время получения пакета не является автоматически временем усреднения. После задержанной выгрузки запись должна попадать в исходный период наблюдений.
Увеличить схему
Коррекция часов регистратора может повлиять на метки, что отдельно рассматривает Campbell Scientific. Campbell Scientific — Setting the Clock Поэтому для интервала полезно сохранять номер записи и контекст изменения времени. Совпавшие метки не всегда означают одинаковые наблюдения.
Назвать поля по смыслу
Для диспетчерского приложения различайте текущее значение, среднее и другие предусмотренные показатели. В метаданных укажите единицы и обработку. На графике подпись должна позволять понять, что сравнивается с соседним постом или ручной выгрузкой.
Не рассчитывайте среднее повторно на сервере из уже усреднённых данных без описания весов и полноты интервалов. Простое среднее нескольких неполных периодов может не соответствовать требуемому результату. Алгоритм и назначение задаёт измерительная задача, а не транспортный протокол.
Проверить на известной последовательности
Подайте тестовые значения с заранее вычисленным ожидаемым результатом. Добавьте пропущенную выборку, задержку передачи и перезапуск на границе периода. Сравните запись регистратора, пакет и серверный архив.
Отдельно проверьте отображение рядом текущего и среднего значений: пользователь должен объяснить их различие без помощи разработчика. Сохраните программу и описание интервала с версией. Такой контракт устраняет ложные подозрения к каналу связи и сохраняет происхождение статистики без назначения агрономических выводов по погоде.
В контрольный пример включите неодинаковое число действительных выборок в соседних интервалах. Это помогает обнаружить серверный пересчёт, который ошибочно считает все промежуточные средние одинаково полными.