Metadata-Version: 2.3
Name: canvod-grids
Version: 0.2.2
Summary: Equal-area hemispheric grid operations for GNSS-Transmissometry
Author: Nicolas François Bader
Author-email: Nicolas François Bader <nicolas.bader@geo.tuwien.ac.at>
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.14
Requires-Dist: numpy>=1.26.0
Requires-Dist: xarray>=2024.1.0
Requires-Dist: pandas>=2.1.0
Requires-Dist: dask>=2024.1.0
Requires-Dist: polars>=1.0.0
Requires-Dist: loguru>=0.7.0
Requires-Dist: matplotlib>=3.8.0
Requires-Dist: astropy>=6.0.0
Requires-Dist: numba>=0.59.0
Requires-Dist: tqdm>=4.66.0
Requires-Dist: scipy>=1.11.0
Maintainer: Climate and Environmental Remote Sensing (CLIMERS)
Maintainer-email: Climate and Environmental Remote Sensing (CLIMERS) <nicolas.bader@geo.tuwien.ac.at>
Requires-Python: >=3.14
Project-URL: Homepage, https://github.com/nfb2021/canvodpy
Project-URL: Documentation, https://nfb2021.github.io/canvodpy/packages/grids/overview/
Project-URL: Repository, https://github.com/nfb2021/canvodpy
Project-URL: Issues, https://github.com/nfb2021/canvodpy/issues
Description-Content-Type: text/markdown

# canvod-grids

Equal-area hemisphere grid operations for GNSS-Transmissometry.

Part of the [canVODpy](https://github.com/nfb2021/canvodpy) ecosystem.

## Overview

`canvod-grids` provides the spatial discretization layer for GNSS-T. Satellite
signal paths are assigned to equal-area grid cells on the hemisphere above the
receiver based on their polar angle (θ) and azimuth (φ). The primary grid type
for GNSS-T is the **equal-area** grid, where each 2° band is divided into cells
of equal solid angle.

Seven grid types are available: `equal_area`, `equal_angle`, `equirectangular`,
`htm`, `geodesic`, `healpix`, and `fibonacci`.

## Installation

```bash
uv pip install canvod-grids
```

## Quick Start

```python
from canvod.grids import create_hemigrid, GridType

# Create a 2° equal-area hemisphere grid
grid = create_hemigrid(grid_type=GridType.EQUAL_AREA, resolution=2.0)
print(grid.ncells)  # number of grid cells

# Assign satellite observations to cells
from canvod.grids import CellAggregator
agg = CellAggregator(grid)
per_cell = agg.aggregate(ds, variable="vod", method="median")
```

## Documentation

[Full documentation](https://nfb2021.github.io/canvodpy/packages/grids/overview/)

## Development

See the [main repository](https://github.com/nfb2021/canvodpy) for workspace development setup.

## License

Apache License 2.0

## Author & Affiliation

**Nicolas François Bader**
Climate and Environmental Remote Sensing Research Unit (CLIMERS)
Department of Geodesy and Geoinformation
TU Wien (Vienna University of Technology)
Email: nicolas.bader@geo.tuwien.ac.at
[https://www.tuwien.at/en/mg/geo/climers](https://www.tuwien.at/en/mg/geo/climers)
