30 May 2025 - Visualising the Southern Ocean using ACCESS-Vis

Session 6: Using 3D graphics tools to animate sea ice, current and other features from ACCESS model outputs in the Antarctic region

:disguised_face: Presenters: Owen Kaluza @OwKal
:alarm_clock: When: 11am, 30 May 2025 (Friday)
:house: Where: Zoom

:teacher: Description: An introduction to ACCESS-Vis and ACCESS-Visualisation-Recipes, the example-driven set of visualisation tools and workflows we’re developing for working visually with ACCESS model outputs and other earth-systems datasets. These tools use GPU powered 3D graphics techniques which have the advantage of allowing rapid rendering of large amounts of data to assist in analysis as well as animation tools to bring data to life in 3D for communication and outreach.

I’ll talk briefly about what is released so far and the tools and examples available on our Github, then run through a more in-depth example demonstration to visualise data in the Southern Ocean that will hopefully be relevant to COSIMA, which I’ll also share as a reference.

:laptop: Prerequisites

  1. Familiarity with Python, Jupyter, Xarray and Numpy

Relevant links:

1 Like

Session Notes

Presenter: @OwKal

Overview
Brief on what has been released and developed so far.

  • Visualisation can have a very broad meaning, work has particularly been on 3D visualisation. Building on Owen’s background in graphics and producing visualisations.
  • Tools access GPU which can be useful for 2D plotting as well.
  • Developed a vis library with some training materials and notebooks which will be useful. Documentation is provided in another ‘recipe’ repo.
  • the library provides functions ready for easier plotting of model data. Features include lighting, bathymetry, textures..
  • a work in progress, feedback welcome on what would be more useful?
  • Uses LavaVu which is a python interface to OpenGL and can be used within Jupyter.

How to use [5]

  • on gadi: xp65
  • conda/access-vis-0.x
  • previously run on a GPU node only
  • current LavaVu can also run on CPU so can save SUs
  • Can also install on your own computer
  • ACCESS-visualisation recipes repo has a collection of work through on your own examples shared in other webinars

Demo with LavaVu

  • features include interactive window, resize, save images, create movie by adding frames with render
  • multiple modes, the API on plotting on 3D earth is the most complete
  • there are sea-ice examples with plotting on satellite imagery
  • Quiver plot of vectors. Tends to load data in vertices, it expects 3D vertices
  • plotting speed interpolation
    – created a viewer, and plot the vectors
    – load up interactive window and can crop and interpolate on a smaller area
  • lavavu can triangulate a grid, plot surface background to match arrows

Tracer particles

  • delete previous arrow object, create tracers using full grid
  • plot tracers with options for visual rendering eg. matplotlib colormap
  • start moving them around: update - with steps.
  • create timestep control to use in interactive window
  • move camera around and save camera coords so you can recall that camera position
  • animation to record video - calling render for each timestep

Plotting on 3D earth – accessvis

  • plot_earth parameters for visual settings - texture relief/bluemarble, hemisphere settings to crop half the sphere
  • resolution selection before plotting
  • objects have different properties - LavaVu documentation [3] for properties
  • set up sampling grid - lonlat_grid_3d, limiting latitude range
  • array_to_rgba - turns numpy array to rbga colormap image which can be sent to renderer
  • EarthTracers, set up tracers and plot to 3D earth. The same use of functions as before, to render out a movie

demo of sea ice:
– grid was not rendering with earth plot
– cropping and rolling/wrapping around of the grid

Examples for this session will be saved in its own folder here [1].

Important Links

  1. ACCESS-Visualisation-Recipes/Examples at main · ACCESS-NRI/ACCESS-Visualisation-Recipes · GitHub
  2. Introduction — LavaVu 1.9.7 documentation
  3. Property reference — LavaVu 1.9.7 documentation
  4. GitHub - ACCESS-NRI/ACCESS-Vis: ACCESS-Visualisation utilities
  5. GitHub - ACCESS-NRI/ACCESS-Visualisation-Recipes: ACCESS Visualisation Recipes
1 Like