新しい MDSplus ツリーを作成するときに、ツリーにデータを保存できる最小のショット番号を指定することもできます (または、指定する必要があります)。ショット番号は、保存するデータを生成する実験を識別するインデックス値にすぎません。現在、MDSplus ツリーで作業していますが、以前のショット番号のデータが利用できることがわかったので、以前のデータセットを保存できるように、ツリーに設定されている制限を下げたいと思います。ただし、最初にツリーをセットアップしたわけではないので、オンラインでこれに関するヘルプを見つけることができませんでした。適切なドキュメントがまだ見つかっていないのでない限り、オンラインの MDSplus ドキュメントは不完全で古くなっていることがよく知られているというのが私の理解と経験です。
答え1
申し訳ありませんが、MDSplus ツリーのショット数には 0 以外の下限がないことがわかりました。ショット数として -1 を使用するのは、モデル ツリー自体を参照する方法であり、負のショット数には意味がないと思います。
このような設定の外観を示したのは次のとおりでした。
- 新しいショット データを保存する前に、Python で createPulse() を呼び出す必要があります。
- 当社の MDSplus サーバーは、今後の増分ショット番号ごとにこれを自動的に実行するように構成されました。
- 当社の MDSplus サーバーは、過去のショット データをアーカイブしようとしたときに自動的にパルスを作成するように構成されていませんでした。
したがって、私の使用パターンによって決定された特定の数を超えるショット数に対しては、すでにパルスが作成されていました。
この問題に遭遇した場合は、node_exists(name, shot) メソッドを記述して、特定のデータ ポイントとショット番号に対してノードがすでに作成されているかどうかを確認し、node_exists() が false を返す場合にのみ createPulse() を呼び出すことができます。例:
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)
次に、撮影したデータを保存します。
混乱させて申し訳ありません...