Craig suggested there's a need for a graphical method for combining data. For example, the user could say "add...", "vap+cdf:...?paramA", "vap+cdf:...?paramB" and the sum is plotted. He suggested this would then write a jyds file, but I think there's a class of jyds operations that could be stored within the vap file. In fact, maybe these are just vap+inline:URIs....
Also it would be nice for the graphical functionality to handle synchronization of data.
A screenshot showing a proposed GUI
Here's a list of commands from Dan's chalkboard:
data_1/data_2
atan2(data_1,data_2)
filterParam(data_1,lt(data_2,0))
hourToDeg(data_1)
See also https://sourceforge.net/p/autoplot/feature-requests/384/.
Kristoff needed to take a URI, divide it by 6371, and use that for the ticks.
Dan and I are calling this tool the "Dashup" tool.
I've been able to move this along so it's now accessible if the "enableDashup=true" environment variable is set.
I haven't thought about support for timeSeriesBrowse, and people are going to expect this. This should be automatic, moreso than with the getParam('timerange') of jyds scripts. I always meant to make that automatic as well, and I can start experimenting with that here.
Last edit: Jeremy Faden 2015-11-10
I've spent time getting this to a presentable state this week. After meeting with Craig I can see that we still have some differing ideas of how this should work. I should note that:
1. he likes the word "filters." I worked to erradicate its use from the UI, and now he likes to use this word for the "additional operations"
2. he suggested adding checkboxes or an easy way to get views of the data along the calculation. A popup might be acceptable, or I want to experiment with thumbnails decorating the tree.
Also I noticed here is yet another code heavily dependent on Jython 2.2 AST parsing. This will need attention as we switch to Jython 2.7.
I just added trig functions like sin, cos, and atan2. There needs to be a way to add functions, beyond what is in the palette, and to keep track of the scratchpad functions.
Allison agreed that it would be nice to guess variable names, so if you add "http://autoplot.org/data/autoplot.cdf?Magnitude, it would pick the name "Magnitude" for it. I'm not sure why I didn't code this in to start with, it's a proven feature in scripting.
I've added code which will set the variable name automatically. There's a checkbox next to the variable name meaning that it will be set automatically.
I believe you always want to be in valid states, so it will replace function arguments with the names of datasets.
When dropping a function on to a tree branch, the tree branch becomes the first argument of the function. This has been very useful, but the branch would be folded after the operation. Now the unfolded branch is left open after the insertion.