pemo's picture

The ability to query NetCDF files via a THREDDS server, using URL strings to query structured scientific data via OPeNDAP. This would open up Vuo for scientific visualisation development (my research area) and take it leaps and bounds beyond Quartz Composer.

Application scenario: Vuo composition as visualisation front-end for oceanographic data (NetCDF) on a (e.g.) THREDDS server, interaction via Leap and wand devices, 3d mouse, enabling tagging of data for subsequent computational routines in Python etc.

Proposed nodes

(Mockup by Team Vuo.)

For scientific database support, Team Vuo proposes adding the following nodes:

  • Query OPeNDAP Database — Makes an HTTP query to an OPeNDAP server, and outputs the result
    • inputs
      • url — e.g.,
    • outputs
      • dataset
  • Get Dataset Value — Outputs the specified value from the OPeNDAP Dataset
    • inputs
      • dataset
      • variableName
    • outputs
      • value — A generic type, which can be:
        • Integer, Real, Text — Single values
        • List of Integers, List of Reals, List of Text — 1-dimensional arrays (e.g., the result of this query)
        • Dataset — For use with recursive structures
        • List of Images — Creates an image from a Grid with 3D Arrays — e.g., for this query, it would output an image for each time index, where the image is a greyscale map representing the normalized array values. For simplicity, this would ignore the grid's maps. Missing values would be represented as transparent pixels.
        • List of 4D Points — Outputs the raw data from a Grid with 3D Array — One list item for each array value where X,Y,Z = the mapped array indices, and W = the array value
        • List of 3D Points — Outputs the raw data from a Grid with 2D Array — One list item for each array value where X,Y = the mapped array indices, and Z = the array value
        • List of 2D Points — Outputs the raw data from a Grid with 1D Array — One list item for each array value where X = the mapped array index, and Y = the array value
  • Make Color Mesh using Grid — Outputs a 3D mesh representing a Grid from the OPeNDAP Dataset
    • Requires a Grid with 2 mapped dimensions — the data source can have more than 2 dimensions, but the extra dimensions need to have fixed values. E.g., for the result of this query (a single time index), it would output a mesh where the X and Y values are longitude and latitude, and Z values and colors represent the temperature.
    • inputs
      • dataset
      • variableName
      • colors — A list of colors forming a heatmap gradient used to choose a color for each output vertex
      • displacement — The amount that the array values displace the mesh along the Z axis
    • outputs
      • mesh


Notes from Team Vuo

Vuo Pro: 

Yes — requires a Vuo Pro license


●●○○ — A few weeks of work


●○○ — Appeals to current community


@pemo: Here's a proposal for

smokris's picture
Submitted by

@pemo: Here's a proposal for nodes for querying an OPeNDAP database and working with the results. What do you think?

Are there data schemas you'd like to visualize that aren't covered by this proposal? If so, please provide some specific examples, like the OPeNDAP query URL (or some sample output if you don't have a public server available), and an example of how you'd like it to be visualized?

@smokris: this looks

pemo's picture
Submitted by

@Steve: this looks fantastic and very flexible - thanks for the quick response (apols for my slow reply.) I'm still currently arranging access to a THREDDS server and working through data types I'll be looking at, so I'll have to get back to you later with some concrete examples (this may take a little while.) In the meantime I'll promote this idea to colleagues.

Feature status

When we (Team Vuo) plan each release, we try to implement as many of the community's top-voted feature requests as we have time for. Vote your favorite features to the top! (How do Vuo feature requests work?)

  • Submitted to
  • Reviewed by Team Vuo
  • Open for community voting
  • Chosen to be implemented
  • Released