A newer version of the Gradio SDK is available:
6.5.1
metadata
title: TensorView - NetCDF/HDF/GRIB Viewer
emoji: π
colorFrom: blue
colorTo: green
sdk: gradio
sdk_version: 4.44.0
app_file: app.py
pinned: false
license: mit
π TensorView - Interactive Geospatial Data Viewer
A powerful browser-based viewer for NetCDF, HDF, GRIB, and Zarr datasets with advanced visualization capabilities.
π Features
- π Multi-dimensional data exploration - Handle complex scientific datasets with automatic slicing
- πΊοΈ Geographic mapping - Built-in map projections with coastlines and gridlines
- π¨ Smart color scaling - Automatic percentile-based color limits for optimal visualization
- π Multiple data formats - NetCDF, HDF5, GRIB, Zarr support
- ποΈ Interactive controls - Dynamic sliders for dimension exploration
- π€ Dual input modes - File upload or direct file path input
- π Remote data support - Load from URLs, OPeNDAP, THREDDS servers
π― Quick Start
- Upload a file or enter a file path
- Select a variable from the dropdown
- Choose plot type: 2D Image or Map (for geographic data)
- Adjust dimension sliders to explore different time steps, pressure levels, etc.
- Create plot and explore your data!
π Supported Data Sources
- NetCDF files (.nc, .netcdf) - Climate and weather data
- HDF5 files (.h5, .hdf) - Scientific datasets
- GRIB files (.grib, .grb) - Meteorological data
- Zarr stores - Cloud-optimized arrays
- Remote URLs - HTTP/HTTPS links to data files
- OPeNDAP/THREDDS - Direct server access
π Example Use Cases
- Climate Data: ERA5 reanalysis, CMIP model outputs
- Weather Data: GFS/ECMWF forecasts, radar data
- Air Quality: CAMS atmospheric composition data
- Oceanography: Sea surface temperature, currents
- Satellite Data: Remote sensing products
π§ Technical Details
Built with:
- xarray + Dask - Efficient handling of large datasets
- matplotlib + Cartopy - High-quality plotting and maps
- Gradio - Interactive web interface
- Multi-engine support - h5netcdf, netcdf4, cfgrib, zarr
Smart Features
- Automatic color scaling using 2nd-98th percentiles
- Dimension detection with dynamic slider generation
- Geographic coordinate recognition for map plotting
- Memory-efficient lazy loading with Dask
π‘ Tips
- For 5D data (like CAMS forecasts): Use sliders to select time, pressure level, etc.
- For geographic data: Choose "Map" plot type for proper projections
- Large files: The app handles big datasets efficiently with lazy loading
- Color issues: The app automatically optimizes color scaling to avoid uniform plots
ποΈ Architecture
tensorview/
βββ io.py # Data loading (NetCDF, HDF, GRIB, Zarr)
βββ plot.py # Visualization (1D, 2D, maps)
βββ grid.py # Data operations and alignment
βββ colors.py # Colormap handling
βββ utils.py # Coordinate inference
βββ ...
π Example Datasets
The app works great with:
- NASA Goddard Earth Sciences Data
- ECMWF ERA5 reanalysis
- NOAA climate datasets
- Copernicus atmosphere monitoring (CAMS)
- CMIP climate model outputs
π Links: GitHub Repository | Documentation