Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

slab sub-selecting not working in UVCDAT GUI. #1466

Closed
cameronsmith1 opened this issue Jul 23, 2015 · 16 comments
Closed

slab sub-selecting not working in UVCDAT GUI. #1466

cameronsmith1 opened this issue Jul 23, 2015 · 16 comments
Assignees
Milestone

Comments

@cameronsmith1
Copy link

I wanted to load a variable and plot various slices (eg, surface, zonal-mean), but when I tried to sub-select slabs, I got strange behavior that stopped me doing what I needed to do.

This capability is really critical.

I was running on Rhea at OLCF, and got the same result with both 'latest' (ie 2015-06-10) and 'devel' (ie 2015-06-22)

Here is my sequence of operations:
(1) I clicked on the 'green plus' to load a variable (SO2). It had 4 dimensions: time, altitude, latitude, longitude (specifically 2,30,96,144). But I only wanted the last time record, so I slid the slider to the last time record, and clicked 'Load'. So far, so good.
(2) I selected the SO2 variable and clicked the pencil to edit it. I wanted to start with the surface, so I used the slide to get just the bottom level. I clicked 'save as' and named it SO2_sfc. As can be seen in the screenshot below, the time dimension suddenly reappeared.
(3) I selected the new SO2_sfc variable and selected just the last time record, and saved as SO2_sfc2. The vertical levels then came back again.

capture

@durack1
Copy link
Member

durack1 commented Jul 23, 2015

@cameronsmith1 just FYI there's an inability in cdms2 currently to arbitrarily index variables (I'm referring to command-line execution here), which caused me to submit #1288 which I hope will be addressed along with the planned upgrades coming to a UV-CDAT near you fairly soon (#479, #481, #537, #576, #885, #1125 and #1059)

@cameronsmith1
Copy link
Author

@durack1, thanks for pointing out the possible links between these issues. As I understand it, your issue is a feature request to the routines, where as mine is for a bug fix in the GUI, but that some of the underlying changes will probably overlap. Is that correct?

@durack1
Copy link
Member

durack1 commented Jul 23, 2015

@cameronsmith1 exactly.. I have just pinged a couple of the other "interacting" issues above, apologies I wasn't trying to suggest this is a duplicate, just that with so many moving parts and changes planned and being executed by numerous parties it can't hurt to attempt to link these efforts together.

@doutriaux1 @dnadeau4 and @chaosphere2112 can speak in more detail about current development plans and can chime in about the issue you've highlighted above..

@doutriaux1 doutriaux1 added this to the 2.3 milestone Jul 27, 2015
@doutriaux1
Copy link
Contributor

@cameronsmith1 I can reproduce it on my end.
Good news: Vistrails is going away so this bug will disappear with it
Bad news: No ETA yet (probably a couple of months) in the mean time you can apply your double sub-sampling at once on the original file. Or use the dimension browsing in the cell.

Both ways are not great... Sorry...

@doutriaux1
Copy link
Contributor

Reopening in case someone feels like fixing it before we take vistrails out for good.

@potter2
Copy link

potter2 commented Jul 28, 2015

I encountered the same problem using the sliders to average a dimension. The process seems to work but the new variable cannot be plotted (nothing happens when the variable is dragged to the panel). Is there a quick fix for this until vistrails is out?

@cameronsmith1
Copy link
Author

The solution by @doutriaux1, of going back to the load window and doing all of the selecting and averaging at that time, works for me. It is a bit of a nuisance, but workable for me at the moment.

@doutriaux1
Copy link
Contributor

@rexissimus any progress on this?

@rexissimus
Copy link
Member

Axes that have been reduced to a single value is not displayed in the variable editor. But this information is lost when updating the variable in getUpdatedVar. I am not sure how we can get the reduced axes from the cdms variable, or if we should get this information some other way. Can somebody help me with this?

this problem will probably not go away with the new GUI if we are going to reuse the variable editor. And with all logic that is there is seems bad to start from scratch. The VisTrails side assumes the applied axes are complete and it looks like it should be that way.

@chaosphere2112
Copy link
Contributor

I've got some notions for how to work around this issue in the new GUI, so it won't be an issue, you know, eventually. Doubt it's worth the effort to implement in the current one, though.

@cameronsmith1
Copy link
Author

Note that the ability to repeatedly modify variables is one of the most important features of UVCDAT compared to other NetCDF GUI viewers. The work-around by @doutriaux1 is OK, but it is still a serious loss. I have long felt that this capability has been fragile in UVCDAT, when it is crucial that it be robust.
Is it worth fixing in the current version, rather than the next version? That is a judgment call that I cannot make because I am not sure what it will take to fix it properly, and when the next version will be out.

@doutriaux1
Copy link
Contributor

@rexissimus looks like it would be nice if you could free some cycles for this.

@rexissimus
Copy link
Member

@chaosphere2112 can you give me some pointers on how you were thinking of fixing this? I do not see how this would be very different from the implementation in the new GUI. It does not look like this should require too much work, but I am not familiar with how to access one-value axes in VCS variables.

@chaosphere2112
Copy link
Contributor

@rexissimus I'm wrapping the variable (and files) with a metadata gathering object. It gathers a tree of historical data about the variable (all of the manipulations etc.) that lets you trace it back to the original file/variable. This was necessary for the saving/loading functionality (because the new persistence format is a python script). It's still kind of fragile, so I don't think bring over what I've written would work... can you track the variable's creation parameters as part of the vistrails node (not knowing anything about vistrails)?

@rexissimus
Copy link
Member

I have not worked on that part of the code before but I will try to figure it out.

@rexissimus
Copy link
Member

Fixed by CDAT/VisTrails#57. Please review. This works on normal sub-selections. Not sure about other axes operations.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants