ncview / README.md
Nipun's picture
🌍 TensorView v1.0 - Complete NetCDF/HDF/GRIB viewer
433dab5
---
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)