Skip to content

Visualization Tools on ROGER and Docker #340

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

Closed
hmb1 opened this issue Jul 14, 2017 · 36 comments
Closed

Visualization Tools on ROGER and Docker #340

hmb1 opened this issue Jul 14, 2017 · 36 comments
Assignees
Milestone

Comments

@hmb1
Copy link
Contributor

hmb1 commented Jul 14, 2017

@yanliu-chn
@craig-willis

Hi Yan, thanks for adding ncview to ROGER. Now that I can see the data quite a few new problems have come to light. If it is doable could you please add Panoply to ROGER. Panoply is a java based NetCDF view.
See []https://www.giss.nasa.gov/tools/panoply/(url)
Thanks ...Henry

@craig-willis
Copy link
Contributor

@hmb1
I've been trying to get Panopoly to work via Docker via NoVNC and don't yet have it working. I'll let you know if I can get it working.

@dlebauer
Copy link
Member

dlebauer commented Jul 14, 2017 via email

@craig-willis
Copy link
Contributor

@dlebauer
Yes, if the ROGER team is willing to install the Java JRE on the head node.

@yanliu-chn
Copy link

I just got back from a conference travel. Panoply 4.8.1 is installed. In initial test, I was able to launch it and view netcdf files.

To use, do the following:
ssh -Y yourname@roger-login.ncsa.illinois.edu
module purge; module load java/1.8.0_131 panoply/4.8.1
export JAVA_OPTS="-Xms512m -Xmx2048m"
$PANOPLY_HOME/panoply.sh

Again, if you use mac, you need XQuartz; if you use windows, you need an X ssh client to launch panoply remotely.

@hmb1
Copy link
Contributor Author

hmb1 commented Jul 17, 2017

Hi Yan,
This is the command line I am now using to launch Panoply.

java -Xms2g -Xmx2g -jar /sw/PanoplyJ-4.8.1/jars/Panoply.jar

Its working but the GUI is very slow to respond to mouse-clicks. Also resizing windows is a real no-no (as with ncview). If you wanna test with some real NetCDF data see "/home/butowskh/tmp"

...Henry

@yanliu-chn
Copy link

I'm not sure how to speed this up. This is not memory size issue, it's more of the network delay. I will explore some fast X software to see if it helps.

Also, ROGER login node is usually busy. To get around that, you can do the following to allocate a computing node for panoply use:

in one terminal

ssh youraccount@roger-login.ncsa.illinois.edu
qsub -l walltime=12:00:00,nodes=1:ppn=20 -I # wait until you grab a node, say cg-cmpXX

open another terminal

ssh -Y youraccount@roger-login.ncsa.illinois.edu
ssh -Y cg-cmpXX
module load java/1.8.0_131 panoply
java -Xms512m -Xmx100g -jar /sw/PanoplyJ-4.8.1/jars/Panoply.jar # each node has 256GB memory

@hmb1
Copy link
Contributor Author

hmb1 commented Jul 18, 2017

Hi Yan,
I gave it a crack. Its still pretty slow though
...Henry

@craig-willis
Copy link
Contributor

@hmb1 @yanliu-chn
I've been exploring running Panopoly via Workbench using Xpra+OpenBox. In short, this is a CentOS Docker container running Xpra (https://xpra.org/) with a lightweight desktop environment (OpenBox).

@hmb1 It's still very rough, but if you want to give it a try I've written up some instructions:
panopoly-xpra.pdf

A few notes about xpra:

  • Cut and paste don't work with the web/HTML5 client
  • There is an xpra Desktop client, but it doesn't currently work due to Workbench authentication. There may be a way around this if we want to pursue this option.

I've found xpra to generally have better performance than exporting native X.

@craig-willis
Copy link
Contributor

On Docker+Xpra+OpenBox, I've been playing with this a bit this morning and was able to open and plot one of the smaller hyperspectral files from /data/terraref/ua-mac/hyperspectral/Level_1 and it seems functional. As with any remote desktop application, it's not perfect, and Xpra has a lot of features to explore. I'm able to resize windows (with lag). The main hassle for me is the absence of copy-paste -- and this may be a limit of the HTML5 client.

@yanliu-chn
Copy link

I want to explore FastX, which our univ has site license. But installing any service daemon on the login node of ROGER needs a process for evaluation for security, policy... I don't see that is happening soon.

@hmb1
Copy link
Contributor Author

hmb1 commented Jul 19, 2017

@craig-willis
I followed the instructions in your pdf above and it finally opened an empty "Open Box" Desktop in a browser tab. NO sign of Panoply. Should I install xpra on my local Ubuntu machine ?
...Henry

@craig-willis
Copy link
Contributor

@hmb1 Were you able to right click to start an xterm and run the panopoly.sh?

@hmb1
Copy link
Contributor Author

hmb1 commented Jul 19, 2017

OKay - Craig I have an xterm window open. I am not seeing panoply.sh any where in my PATH ?

@craig-willis
Copy link
Contributor

Sorry, I was lazy and didn't put it in the path:

/PanoplyJ/panoply.sh

If this works out, we can talk about what I can do to make it easier to use.

@hmb1
Copy link
Contributor Author

hmb1 commented Jul 19, 2017

Great its certainly now usable. Is there still a 4GB memory limit on files ?

@craig-willis
Copy link
Contributor

The JSON spec I provided sets a 1G memory limit on the container. You can increase that by either editing the JSON and re-importing or editing the app in Workbench (Resource Limit > Max Memory
-- you'll need to stop/remove the app first). By default, users on the Workbench system have an 8GB limit per account. The VM itself only has 32GB.

Of course, this can all be changed. How much memory do you think you'll need?

@hmb1
Copy link
Contributor Author

hmb1 commented Jul 19, 2017

OK 8 GB should be OK for now.
if I have a super -huge var I can always hyperslab it
if I wanna have NCO and Netcdf as well -- shall I just hack the JSON file ?

looking down the road a little.- if I add xpra to my local machine will I be able to use OpenBox on my desktop ?

@craig-willis
Copy link
Contributor

I'll need to add any additional dependencies to the Docker image. I can build on the existing NCO/NetCDF environment I put together a while back.

looking down the road a little.- if I add xpra to my local machine will I be able to use OpenBox on my desktop ?

If you mean connecting to Workbench via the Xpra client instead of browser, this is something I'm working on. I just need to make sure the Xpra sessions authenticated. Let me know if you meant something different.

@hmb1
Copy link
Contributor Author

hmb1 commented Jul 19, 2017

Yep thats what i mean

@craig-willis
Copy link
Contributor

OK, so I'll add the NCO/NetCDF dependencies and see if I can get things working with the Desktop client.

Is there anything else you can think of that could make this better for you?

@hmb1
Copy link
Contributor Author

hmb1 commented Jul 19, 2017

OK is my ROGER home directory already mounted some-where in Docker ?

@craig-willis
Copy link
Contributor

No and I'm not sure that this will be possible. I'll see what we can do.

@craig-willis
Copy link
Contributor

@yanliu-chn or @jdmaloney

If we wanted to share user data between ROGER and Workbench, what would be the best approach? What about some sort of scratch space under gpfs/largeblockFS/projects/arpae/terraref/?

@dlebauer
Copy link
Member

dlebauer commented Jul 19, 2017 via email

@dlebauer
Copy link
Member

@robkooper when will thredds be available?

@hmb1
Copy link
Contributor Author

hmb1 commented Jul 19, 2017

@yanliu-chn
sorry to be tedious, but when I try and create an interactive node on ROGER it seems to take ages to start

Am using the command: qsub -l walltime=24:00:00,nodes=1:ppn=20 -I

...Henry

@jdmaloney
Copy link
Contributor

@hmb1 Will answer here for @yanliu-chn depending on ROGER's job load it may take a while for interactive jobs to start. They reserve a couple nodes for interactive work, but if those are already taken by other interactive jobs then your interactive job will have to sit and wait for a compute node to become available (any compute node in that case, interactive jobs aren't exclusive to those two nodes, but they put those two nodes in place to help speed up the interactive job start time). Looking at the load on ROGER right now, it seems as though there are a lot of jobs running and in the queue. State of the queue can be seen by running "qstat" (you may already have known that, but wanted to make sure you had the tool available to you).

@hmb1
Copy link
Contributor Author

hmb1 commented Jul 19, 2017

Thanks Jd ,

@yanliu-chn
Copy link

@jterstriep and @craig-willis can talk a bit to mount a specified directory into the VM via NFS.

@craig-willis craig-willis self-assigned this Jul 19, 2017
@craig-willis craig-willis added this to the July 2017 milestone Jul 19, 2017
@ghost ghost removed the help wanted label Jul 20, 2017
@craig-willis
Copy link
Contributor

Update based on 7/20 meeting:

  • Mount ROGER /gpfs/largeblockFS/project/arpae/terraref/users to workbench (will need @jdmaloney to export RW to 141.142.210.18)
  • This directory will be available to containers running in Workbench under /data/terraref/users
  • From this point forward, these and similar visualization tools can be added to the container in Workbench (I'm updating the current image to include the NCO dependencies and ncview).

@craig-willis
Copy link
Contributor

Status update: still waiting on NFS export for users directory.

@jdmaloney
Copy link
Contributor

@craig-willis Exported added

@dlebauer
Copy link
Member

Per #155 the hyperspectral data are now available via THREDDS so can be visualized using Panoply installed locally (file --> open remote catalog --> at https://terraref.ncsa.illinois.edu/thredds/catalog.html). My understanding is that this catalogis updated daily and only includes the data products, so will not be useful in its current state for checking output during development.

@craig-willis
Copy link
Contributor

@hmb1

ROGER's /gpfs/largeblockFS/projects/arpae/terraref/users is now available as /data/terraref/users on Workbench. I had to create a user directory via ROGER and open permissions (777), since we don't have consistent UID/GID in Workbench. I was able to copy a sample netcdf file to my users directory on ROGER and open that file via Panoply in Workbench.

Any running applications/containers will need to be restarted to get the new mount.

@craig-willis
Copy link
Contributor

I've added a new "NetCDF Visualization" application to the main TERRA-REF Workbench catalog. This is the Xpra+OpenBox container with NCO/NetCDF dependencies, NCView, Panoply. I need to add documentation on how to use these environments before closing.

@dlebauer
Copy link
Member

Closing

Remaining task of adding to documentation is here: terraref/documentation#158

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

5 participants