Конфигурация MDSplus: как изменить начальный номер снимка в дереве MDSplus?

Конфигурация MDSplus: как изменить начальный номер снимка в дереве MDSplus?

При создании нового дерева MDSplus можно (или, возможно, даже требуется) указать наименьшее количество выстрелов, для которого данные могут быть сохранены в дереве. Номера выстрелов — это просто индексные значения, идентифицирующие эксперименты, которые производят данные для сохранения. Сейчас я работаю с деревом MDSplus и обнаружил, что доступны данные для более ранних номеров выстрелов, и хотел бы снизить настроенный предел для моего дерева, чтобы я мог хранить эти более ранние наборы данных. Однако изначально я не настраивал дерево и не смог найти никакой помощи по этому вопросу в Интернете. Если только я просто еще не нашел нужный документ, то, по моему пониманию и опыту, онлайн-документация MDSplus, как известно, неполна и/или устарела.

решение1

Извините, я обнаружил, что в дереве MDSplus нет нижнего предела для количества выстрелов, кроме 0. Использование -1 в качестве номера выстрела — это способ ссылки на само дерево модели, и я не думаю, что отрицательные номера выстрелов имеют какой-либо смысл.

Видимость такой обстановки создавалась следующим образом:

  1. Перед сохранением новых данных о снимках необходимо вызвать createPulse() в Python;
  2. Наш сервер MDSplus был настроен на автоматическое выполнение этой задачи для каждого последующего возрастающего номера кадра;
  3. Наш сервер MDSplus НЕ был настроен на автоматическое создание импульсов при попытке архивировать исторические данные выстрелов.

Таким образом, импульсы уже были созданы для количества выстрелов выше определенного числа, которое было определено на основе моего шаблона использования.

Если вы столкнулись с этой проблемой самостоятельно, вы можете написать метод node_exists(name, shot), чтобы узнать, был ли уже создан узел для определенной точки данных и номера выстрела, а затем вызвать createPulse() только тогда, когда node_exists() возвращает false, например:

import MDSplus as mds
if not node_exists(data_name, shot_num):
    tree = mds.Tree(tree_name, shot_num, tree_mode)
    tree.getNode(data_name).include_in_pulse=True
    tree.createPulse(shot_num)

Затем сохраняйте данные о своих снимках.

Извините за путаницу...

Связанный контент