Data Analysis Services Group - July 2016

News and Accomplishments

VAPOR Project

Project information is available at: http://www.vapor.ucar.edu

KISTI Award:

Dongmin Jang, an ocean modeler from KISTI, arrived for a two month visit with the VAPOR team. While here Dongmin will be developing Matlab scripts for resampling FVCOM data onto a regular grid so that it can be imported into VAPOR. Dongmin will also provide input to the VAPOR team on VAPOR 2.x works in progress.


John wrote up a project plan for the KISTI Year Six deliverables, which will culminate with a 2.6 release of VAPOR by the end of the PoP for the award (Nov. 30 2016)

 

Scott wrote a client application to invoke a call to the UCSD SeedMe servers to encode video files from Vapor’s image output. The application does not currently have the SeedMe invocation implemented, which is being done by Dmitry Mishin. Dmitry received the application and is currently working on completing its Python interface to the SeedMe server. Scott will couple the GUI with the implementation provided by Dmitry once it is ready.

Scott was able to complete the implementation of on­screen colorbar controls for VAPOR 2.6, despite several setbacks. The requirement of this feature was to be able to resize and reposition colorbars using the mouse through a rubber­band. Scott quickly found that VAPOR’s QGLWidget would draw over rubber bands that were made within a given visualizer, making them invisible. A workaround was to make the rubber­bands “top­level”, which meant that they are drawn in global desktop space instead of within an individual widget.

Unfortunately, Scott found that Qt 4.8 has a bug where these types of top­level rubber bands are unresponsive to click events, which are needed for dragging and resizing. Scott confirmed this bug with two Qt developers and submitted a ticket but it will not be heeded as Qt 4.8 is now only receiving updates for security fixes.

As a last resort, Scott implemented his own rubber­band with a new manipulator class that is being used by the current visualizers.

2.x Development:


John restructured the Mac and Linux build system to do away with symlinks to .h files.

3.x Development:

John began refactoring the VAPOR params database code to address numerous shortcomings such as, poor original design, memory leaks, and complexity. Ultimately these changes are needed to also support simultaneous display of multiple data sets within vaporgui. Numerous low level classes whose role was to support application state saving have been replaced with two refactored, simpler, yet more capable classes: XmlNode, and ParamsBase, and a single new class: ParamsStateMgr. The XmlNode class provides support for storing and restoring scalar and vector quantities in an XML tree. The ParamsBase class provides a base for building classes of related application parameters with no-fail access mechanisms, and undo/redo capability. ParamsBase supports two distinct construction modes: construct from scratch, and construct from an existing XML database. The ParamsStateMgr class is a helper class for managing undo/redo capability in ParamsBase. All parameter handling classes are in the process of being converted to use this new set of fundamental classes. Parameter class objects that have been converted include:

  • RenderParams: inherits from ParamsBase and provides an abstract base class for constructing parameter handling classes for all renderers. A fundamental change in the refactored RenderParams class is the requirement that a valid DataMgr be provided to the constructor. This has greatly simplified the logic for classes inheriting from RenderParams
  • TwoDDataParams: inherits from RenderParams and managers parameters for the TwoDData renderer
  • TwoDImageParams: inherits from RenderParams and managers parameters for the TwoDImage renderer
  • ArrowParams: inherits from RenderParams and managers parameters for the Arrow (barb) renderer
  • IsolineParams: inherits from RenderParams and managers parameters for the Isoline (contour) renderer
  • Box, MapperFunction, TransferFunction, IsoControls: these classes inherit from ParamsBase and can now be readily re-used by RenderParms classes for supporting rectangular region specification, and transfer function specification, respectively.
  • AnimationParms, appSettingsParams, RegionParams, ViewPoint, ViewPointParams, VizFeatureParams: inherit from ParamsBase. No substantial changes.

Additional new classes or significantly refactored classes include:

  • ParamsContainer: A "container" class for simplified management of lists of classes derived from ParamsBase. For example, manages TransferFunction class instance instantiated for each active VAPOR data variable.
  • RenderParamsContainer: A "container" class for simplified management of lists of classes derived from RenderParams.
  • ParamsMgr: Performs same basic functionality is previous version, but now relies on object Factory Classes for the instantiation of classes derived from ParamsBase and RenderParams. Thus new derived classes from these two bases can be managed by ParamsMgr without modifying the ParamsMgr code.

Finally, numerous classes in the render library were modified to work with the new parameter classes, including: TwodDataRenderer, TwoDImageRenderer, ArrowRenderer, IsolineRenderer, ControlExec, TrackBall, and Visualizer.

 

Stas completed the utility vdcdump. This utility emulates the functionality of ncdump and allows users to view detailed information about a VDC database.

Stas has been working on a regression testing system for Vapors various utilities and conversion tools. The system can be used both through the command line and through a web gui interface. The test system is separated into clients and servers to allow greater convenience (updates through gui) and quicker results by allowing the management of parallel execution of tests. He has completed an initial version that works exclusively with the Vapor 3.0 conversion tools and is currently working on version 2 that uses a more general, inline function based approach.

Stas completed tests for checking the viability of APIs and programs for use in Vapor software.

Stas has been working on migrating the Vapor project from Visual Studio 2010 to Visual Studio 2015. This is still a work in progress.

Administrative:

Education and Outreach:


2016 WRF Users Workshop: Scott conducted the 2016 WRF Users’ workshop which involved collaborating with Kelley Keene from MMM on logicstics, installing Vapor on student machines, and also verifying that the classroom equipment was operational. Scott presented a revised curriculum using a new dataset from Leigh Orf. Interestingly, the classroom computers began blocking the students from logging in shortly after the class started. Stanislaw was able to contact technical support and get the computers to accept login attempts.

2016 WRF Tutorial: Scott also collaborated with Kelley Keene to give a 30 minute presentation on VAPOR to users at the 2016 WRF Tutorial. After the presentation, Scott helped students with questions on using VAPOR with their WRF data in two half­-day sessions that followed. Users had strongly positive feedback


XSEDE 2016: Scott flew out to Miami for the XSEDE 2016 conference. There he participated on a visualization panel where he narrated the animation he composed based on Joanie Kleypas and Fredric Castruccio’s CT­ROMS data. His visualization was also played from a highly visible position in the main lobby for the duration of the conference.

Scott met with Greg Foss, a professional visualization engineer from TACC who had attended last month’s XSEDE webinar. Scott gave him a further in­depth tour of VAPOR using hurricane data that Greg was visualizing for a client.

A writer named Lance Farell interviewed Scott on his CT­ROMS visualization for a news article at ScienceNode. Lance had spoken to both Joanie and Fred about the science behind the visualization as well, and published his article on July 27. Link: https://sciencenode.org/feature/squaring­the­coral­triangle­.php

On the flight back from Miami, Scott met a computational scientist from CU named Bruce Loftis, who Scott met with at the Mesa Lab the following week. Bruce has invited Scott to give a tutorial on VAPOR to the visualization group at CU at some undetermined date in the near future.

ASD Support

  • xxx

Publications, Papers & Presentations

  • xxx

Systems Projects

Stas setup Intel OSPray to run on the HPC Futures lab however no conclusions could be made due to the systems currently lacking a complete X implementation.

System Support


Research Projects

Time varying data compression:


John authored a number of manuscript revisions for a planned TVCG submission on spatiaotemporal domain compression. This work is a collaboration with Hank Childs and Samuel Li, U. of Oregon.

Climate data compression:


John continues to coordinate weekly meetings with TDD and IMAGE on climate data compression research. Meeting notes are available from here.

Production Visualization Services & Consulting

 

 

  • No labels