developed by OceanDataLab

Frequently Asked Questions

SEAScope Viewer (All Platforms)

After data addition/change/removal, you have to regenerate the index cache.

To do so, simply delete the index.fb file in the SEAScope workspace (or at the location you specified in the configuration file) and restart SEAScope to regenerate an index file.

SEAScope requires direct access to a real GPU, not an emulated one – which is what most hypervisors (Qemu, VirtualBox, Parallel, etc..) provide by default.

The only way to run SEAScope in a VM with good performance is to configure PCI-passthrough and pass a physical GPU to the virtual machine (which is only possible on Windows Server 2016 with Hyper-V 2016 and ... on Linux). So it is strongly discouraged to run SEAScope in a VM at the moment and no support will be provided for this use case.

In short: it mostly depends on how much RAM you have, but the index size cannot exceed 2GB.

SEAScope is a hungry beast: it consumes more RAM everytime new data (i.e. data that were not already present in memory) are loaded for visualisation purposes and only releases this memory when the application shuts down.

So it is possible to saturate your RAM by loading too much data, when you visualise high-resolution data, many variables or many datetimes without restarting SEAScope.

You can somehow circumvent this limitation by extending the size of the swap on your system: it will virtually have more memory available so SEAScope should be able to load more data but its performance might suffer from the transfers between disk and RAM caused by the swap mechanism.

This lack of memory management is a major problem in the current version and fixing this issue is our top priority for the next release.

There is also a limit to how much data the index can contain: the library we use to build the index file has a hardcoded limit set to 2GB. The index only contains the spatial and temporal coverage for each granule so its size does not grow very fast, but if you add too many granules in your data folder you will reach this limit and SEAScope will not be able to save the index anymore (and basically stop working).

The index still contains the old path of your data, so SEAScope cannot load them: you have to regenerate the index cache.

To do so, simply delete the index.fb file in the SEAScope workspace (or at the location you specified in the configuration file) and restart SEAScope to regenerate an index file.

SEAScope Viewer (Linux)

SEAScope relies on the MESA library to retrieve the version of OpenGL supported by your system.

Some drivers report a wrong version number which leads to an error during SEAScope startup: it refuses to start because the erroneous reported version is lower than the one it requires.

To bypass this issue you can define the MESA_GL_VERSION_OVERRIDE and MESA_GLSL_VERSION_OVERRIDE environment variables to change the OpenGL version publicized by the driver.

Using OpenGL version 3.3 is a sensible choice. For example, in bash, you can use:

Setting environment variables for MESA drivers
export MESA_GL_VERSION_OVERRIDE=3.3
export MESA_GLSL_VERSION_OVERRIDE=330

SEAScope Viewer (macOS)

We recommend that SEAScope be placed in /Applications or ~/Applications. But it normally works fine if placed somewhere else on your computer.

See "Install an app from an unidentified developer" section of Safely open apps on your Mac.

To summarize:

  1. In the Finder, Control-click the app
  2. Choose Open from the menu
  3. In the dialog that appears, click Open
  4. Enter your admin name and password when prompted

SEAScope Viewer (Windows)

Python Bindings

Maybe your environment (or a binary package) was built on a system which uses an encoding that is not compatible with yours.

This is not strictly related to SEAScope, but we encountered this issue on a chinese Windows 10 system while running a conda environment that we built on a french windows 10 machine. The solution might be obvious to Windows users but we don't use this OS on an eveyday-basis so it took us several tries before we found a workaround.

Jupyter error message
Fatal Python error: Py_Initialize: can't initialize sys standard streams
LookupError: unknown encoding: 65001

In order for this environment to work, the workaround we used consisted in switching the system encoding to english and unticking the "Beta: Use Unicode UTF-8 for worldwide language support" checkbox.

In order to get to the encoding configuration dialog: