You are here: Home / News & Events / DKRZ Tech Talks / Tech Talk: Visualizing unstructured grids from scripts and GUI with psyplot

Tech Talk: Visualizing unstructured grids from scripts and GUI with psyplot

Philipp S. Sommer of HZG introduces Psyplot, a python-based data visualization framework that integrates rich computational and mathematical software packages into a flexible framework for visualization.
When
Nov 17, 2020 from 03:15 PM to 04:15 PM (Europe/Berlin / UTC100)
Add event to calendar
iCal

psyplot (https://psyplot.github.io) is a data visualization framework that integrates rich computational and mathematical software packages (such as xarray and matplotlib) into a flexible framework for visualization. It differs from most of the visual analytic software such that it focuses on extensibility in order to flexibly tackle the different types of analysis questions that arise in pioneering research. The design of the high-level API of the framework enables a simple and standardized usage from the command-line, python scripts or jupyter notebooks. A modular plugin framework enables a flexible development of the framework that can potentially go into many different directions. The additional enhancement with a flexible GUI makes it a visualization framework that can be handled from the convenient command-line, as well as via point-click handling. It also allows to build further desktop applications on top of the existing framework.

In this TechTalk, Philipp shows the main functionalities of psyplot, with a special focus on the visualization of unstructured grids (such as ICON), and the usage of psyplot on the HPC facilities of the DKRZ (mistral, jupyterhub, remote desktop, etc.). His demonstration covers in particular

  • the psyplot framework
  • how to use psyplot in python scripts (and jupyter notebooks)
  • a guide to the psyplot GUI
  • the new ncview-like interface build upon psyplot
  • how to reuse plot configurations and generate respective templates

The presentation material is publicly available at https://github.com/Chilipp/psyplot-DKRZ-TechTalk-20201117

Video of this Tech Talk on the DKRZ YouTube Channel: https://youtu.be/DYsCQbZbtV0

To use psyplot and psyview on mistral, use

module load python3/unstable

 

Q&A:

  • I think I saw a 'save' button in the gui frame of the plots. Is it possible to export the figures I create?
    • Yes. There are many possibilities.

    • You can use the standard matplotlib save feature, or save the project or individual plots from the menu.

  • How to cite psyplot, if we use it in our research (e.g., paper)?

  • I have large ICON files (in NetCDF 16 GB for a single variable per time step). Is it possible to use Psyplot in parallelized mode on several nodes to have enough memory and visualization power?

    • With matplotlib no, because each figure has to be drawn by one process.

    • Maybe with the vtk libraries -- somebody would have to look into that.

    • This would be something that we could look into applying for project money with.

  • You’ve shown scalar data plots. Are there any measures to visualise vector data? 

    • yes. 

  • Are there also any measures to produce vertical slices? 

    • Under construction.

  • And how about Hovmueler plots (what form should data have at the files level: all in one file, 4D, or separate files like in NWP can be used?)?

    • Hovmueller is not explicitly supported yet

    • The coordinates need to be in the xarray data set. You can specify a grid file in the open call.

    • You can load several files into one “interactive list” 

  • Does psyplot also accept grib files in input?

  • And compressed GRIB2?

    • see cfgrib docu… (or add it. ;)

    • reads most GRIB 1 and 2 files including heterogeneous ones with cfgrib.open_datasets

  • Is it possible to implement plots for vertical profiles? Such as zonal wind in certain latitude or the vertical profile of the zonal mean variable of three ocean basins.

  • Is there a functionality to allow for multiple plots of the same type on a single page (e.g. intercomparison with a script)?

    • yes. sure. matplotlib does this. 

  • Is it possible to set up a custom background map? Like Openstreetmap's maps or Esri's maps

    • Not within the psyplot framework itself, but in cartopy itself.

  • psyplot can handle csv text files (i.e., dataframe)?

  • Have you tried to use it with the ICON torus grid? problem is double connectivity

    • Psyplot should be able to handle any ICON output. Maybe you could provide Philipp with a data file.

Document Actions