|
|
--- |
|
|
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 |
|
|
|
|
|
1. **Upload a file** or enter a file path |
|
|
2. **Select a variable** from the dropdown |
|
|
3. **Choose plot type**: 2D Image or Map (for geographic data) |
|
|
4. **Adjust dimension sliders** to explore different time steps, pressure levels, etc. |
|
|
5. **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](https://github.com/user/tensorview) | [Documentation](https://docs.tensorview.io) |