Skip to content

UV CDAT Architecture

Remi Rampin edited this page Jun 23, 2015 · 4 revisions

This page's goal is to serve as a list of requirements for the UV-CDAT project, spelling out all the components that need to be there with who owns it, pointers to documentation/how to test it out, and some integration details.

GUI

The UV-CDAT graphical user interface will be the DAT. VisTrails is used as the backend to assemble workflows and capture provenance; DAT adds a custom interface built on top of the spreadsheet, with concepts of variables and plots (loaders, plots and operations are provided by packages). All of UV-CDAT would thus be (a) package(s) loaded into the DAT.

Provenance

Provenance is automatically captured by VisTrails since all plotting actually goes through it. A UV-CDAT .vt file contains all the pipelines for all the versions of the plots and variables, in a very descriptive way (variable loading and operations are modules, so are plots), together with user/machine/time information, all queryable via VisTrails.

Data manipulation

cdms2 provides the NetCDF loading facilities. It lives in the uvcdat repository (Packages/cdms2).

cdms is the old version (libcdms repository) currently not built by UV-CDAT. Also deprecated: Numeric, MA, MV, regrid are the old modules.

Other modules: numpy, ma, regrid2

Data can also be loaded directly from ESGF and OpenDAP

Documentation: http://uv-cdat.llnl.gov/documentation/cdms/cdms.html

In the GUI: the uvcdat_cdms package has variable loading and operation modules. A DAT variable loader should allow to create a variable, the operations (regrid, ...) should be accessible from the calculator.

There is also the need to step through time axis (dimensions) and select a slice of the data on any axis when loading.

Other utilities

Documentation: http://uv-cdat.llnl.gov/documentation/utilities/utilities.html

Plotting

All the plotting is currently done through vcs (but matplotlib, ... plots are being considered). It uses vtk as the backend. It lives in the uvcdat repository (Packages/vcs).

Documentation: http://uv-cdat.llnl.gov/documentation/vcs/vcs.html

In the GUI: the uvcdat_cdms package has the plots. They all take CDMSVariable as input (TODO: and numpy/others?)

vcs has different plot types, some 2D and some 3D, e.g. 'Boxfill', 'Isoline', '3D_Scalar'. It also has graphics methods, depending on the plot, e.g. 'default', 'polar', 'robinson'. The templates control formatting of the output and are apparently not available in current UV-CDAT; new ones can be created and reused by the user.

There is also the possibility to edit colormaps and use custom colormaps for any plot.

Diagnostics

TODO: I don't know. Probably does a bunch of plots and reports automatically from some data in an strict structure.

Clone this wiki locally