Skip to content

bytecoder-code/vis5d-web

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Vis5D Web

A web-based reimplementation of the classic Vis5D scientific visualization system, built with vanilla HTML, JavaScript, and CSS using WebGL2. No frameworks, no build step — just open in a browser.

Overview

Vis5D Web brings the capabilities of Vis5D to the browser, enabling interactive 3D visualization of five-dimensional gridded data sets (3 spatial dimensions + time + multiple variables) directly from .v5d files.

Features

  • Isosurfaces — marching cubes extraction via WebWorker with per-variable color and opacity
  • Colored slices — horizontal and vertical cross-sections with configurable colormaps
  • Contour lines — marching squares contour extraction overlaid on slices
  • Volume rendering — slice-based rendering with 3D textures and transfer function controls
  • Wind visualization — vectors, meteorological barbs, and streamlines on horizontal slices
  • Particle trajectories — 3D RK4 integration through U/V/W wind fields
  • Sounding diagrams — vertical profile plots with multi-variable overlay
  • Map grid overlay — coordinate grid lines with auto-scaled intervals
  • Time animation — timestep slider with play/pause for temporal datasets
  • Multi-dataset support — load and overlay multiple V5D files simultaneously

Supported Data

  • V5D binary format (all compression modes: 1-byte, 2-byte, 4-byte float)
  • All 7 projection types: rectilinear, cylindrical equidistant, Lambert conformal, polar stereographic, rotated equidistant, Mercator, and generic non-uniform
  • All vertical coordinate systems: linear generic, linear km, non-uniform height, non-uniform pressure

Live Version

Try it now at vis5d.bytecoder.com — browse sample datasets and visualize them directly in your browser.

Quick Start

python3 -m http.server 8080

Open http://localhost:8080 and drop a .v5d file onto the page. Sample files are included in samples/.

Architecture

The application is organized as ES modules across six layers:

Layer Purpose
js/core/ Constants, event bus (pub/sub), application state
js/io/ V5D binary parser, grid decompression, file loader
js/data/ Dataset wrapper, LRU grid cache, coordinate transforms
js/compute/ Isosurface/contour WebWorkers, slices, volume, wind, trajectories
js/render/ WebGL2 renderer, camera, shaders, mesh/line/slice/volume renderers
js/ui/ DOM-based control panels (no framework dependencies)

History and Credits

Original Vis5D

Vis5D is a free OpenGL-based volumetric visualization system for scientific data sets, originally developed at the University of Wisconsin-Madison Space Science and Engineering Center (SSEC).

Original authors:

  • Bill Hibbard — Principal investigator and lead developer
  • Johan Kellum — Core development
  • Brian Paul — OpenGL/Mesa graphics, core algorithms
  • Dave Santek — Data formats and McIDAS integration
  • Andre Battaiola — Development and testing

Vis5D was first released in 1990 and became one of the most widely used tools for visualizing meteorological and atmospheric model output. It pioneered interactive 3D visualization of gridded data with features like isosurfaces, volume rendering, wind trajectories, and animated time-stepping — capabilities that were groundbreaking for their era.

The original Vis5D is licensed under the GNU General Public License v2+ and is available at https://github.com/drafnel/Vis5d.

Vis5D Web

This web-based reimplementation was created in 2026 by Bill Heyman (bill@heyman.ai) to bring Vis5D's visualization capabilities to modern web browsers without requiring native software installation. While Vis5D Web is a complete rewrite using WebGL2, WebWorkers, and ES modules, its design, algorithms, and data format support are directly informed by the original Vis5D codebase.

License

Vis5D Web is licensed under the GNU General Public License v2+, the same license as the original Vis5D. See LICENSE.md for details.

Copyright (C) 2026 Bill Heyman (bill@heyman.ai)

About

A web-based reimplementation of the classic Vis5D scientific visualization system

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors