MDSplus / mdsplus

The MDSplus data management system
https://mdsplus.org/
Other
72 stars 44 forks source link

getShotDB does not include shots stored in paths with shot digit wildcards #2538

Open fluffynukeit opened 1 year ago

fluffynukeit commented 1 year ago

https://www.mdsplus.org/index.php/Documentation:TreeAccess

Shot digit wildcards in path specifications like ~a are not processed correctly by getShotDB. ~t does get processed correctly. The code does not look like it makes any attempt to process it.

https://github.com/MDSplus/mdsplus/blob/6f906d04321ec212c0108eca4e578d32abdf8e06/python/MDSplus/tree.py#L359

The drop down in jTraverser2 also ignores these wildcard paths.

The combinatorics on ~a through ~j with ten possible digits are enormous. I'm not sure that this function could ever be performant and return a complete result, but I hope I am wrong because "what shots exists" is a very reasonable question to ask. Minimally I think the limitation should be documented, perhaps even an automatic warning if getShotDB finds wildcards in the EXPT_path.

joshStillerman commented 1 year ago

We could return fairly complete results except for the syntax that allows you to call a function.  However we will not be able to do this in a performant way.  It seems that we could try to use a linux find command either locally or remotely, but formulating that command for any string that you can have in the tree path may be tough.  In addition we would need a new mdsip entry point, probably a .fun for remote find commands.

We have discussed in the past the desire / need for a database of shots, and an API to go with it.

I think we can add solving this to our longer term projects list.

-Josh

On 2/28/23 1:39 PM, Daniel Austin wrote:

https://www.mdsplus.org/index.php/Documentation:TreeAccess

Shot digit wildcards in path specifications like ~a are not processed correctly by getShotDB. ~t does get processed correctly. The code does not look like it makes any attempt to process it.

https://github.com/MDSplus/mdsplus/blob/6f906d04321ec212c0108eca4e578d32abdf8e06/python/MDSplus/tree.py#L359

The drop down in jTraverser2 also ignores these wildcard paths.

The combinatorics on ~a through ~j with ten possible digits are enormous. I'm not sure that this function could ever be performant and return a complete result, but I hope I am wrong because "what shots exists" is a very reasonable question to ask. Minimally I think the limitation should be documented, perhaps even an automatic warning if getShotDB finds wildcards in the EXPT_path.

— Reply to this email directly, view it on GitHub https://github.com/MDSplus/mdsplus/issues/2538, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABY5AZOKR73ZIGBJM5RBLCLWZZA6DANCNFSM6AAAAAAVLCYRNI. You are receiving this because you are subscribed to this thread.Message ID: @.***>

-- Joshua Stillerman Research Engineer MIT Plasma Science and Fusion Center 617.253.8176 @.***