A comprehensive tool for creating animations from NetCDF data files
Project description
NetCDF Animation Creator
Create beautiful animations from NetCDF files with support for both single files and multiple files without concatenation. 75-87% faster than traditional concatenation methods.
🚀 Quick Start
Installation
pip install -e .
Basic Usage
# Interactive mode (recommended)
anc
# Single file
anc your_file.nc
# or
anc your_file.nc --variable InstantaneousRainRate --type efficient --fps 15
# Multiple files
anc *.nc
# or
anc F4C_00.2.SEG01.OUT.*.nc --variable InstantaneousRainRate --type efficient --fps 15
# Configuration (optional)
anc config
# or
anc config *.nc --output my_config.json
# or
anc "*.nc" --config my_config.json
✅ Key Features
- Multi-File Support: Process multiple NetCDF files directly (no concatenation needed)
- Smart Dimension Handling: Auto-detects animation dimension (time, level, etc.)
- Three Animation Types:
efficient(fast),contour(detailed),heatmap(simple) - Configuration Management: Interactive setup and JSON-based configuration
- Zoom Functionality: Crop domain by specified zoom factor
🔧 Command Line Options
| Option | Description | Default |
|---|---|---|
--variable |
Variable name to animate | Required |
--type |
Plot type: efficient, contour, heatmap |
efficient |
--fps |
Frames per second | 10 |
--output |
Output filename | Auto-generated |
--config |
Load configuration from JSON file | None |
--zoom |
Zoom factor for cropping domain | 1.0 |
🧪 Testing
# Validate setup
anc validate
# Run tests
anc test --full
🚀 Deployment
This project uses automated deployment to PyPI via GitHub Actions. To release a new version:
Automatic Deployment
-
Create a new version tag:
python scripts/release.py patch # for bug fixes python scripts/release.py minor # for new features python scripts/release.py major # for breaking changes
-
Manual tag creation (alternative):
# Update version in pyproject.toml git add pyproject.toml git commit -m "Bump version to X.Y.Z" git tag vX.Y.Z git push origin main git push origin vX.Y.Z
Setup Requirements
- PyPI API Token: Create a PyPI API token at https://pypi.org/manage/account/token/
- GitHub Secrets: Add your PyPI token as a GitHub secret named
PYPI_API_TOKEN- Go to your GitHub repository → Settings → Secrets and variables → Actions
- Add new repository secret with name
PYPI_API_TOKENand your token as the value
The GitHub Actions workflow will automatically:
- Build the package when you push a version tag (e.g.,
v1.0.3) - Run tests on every push to main/develop branches
- Publish to PyPI when tests pass
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file animate_netcdf-1.7.2.tar.gz.
File metadata
- Download URL: animate_netcdf-1.7.2.tar.gz
- Upload date:
- Size: 44.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
17415068a5c999e4e8816e2061bdadcf586648bb255dc0c7fa12c31055d99fd7
|
|
| MD5 |
52060b49e42a027cd72e46ba4e41a35c
|
|
| BLAKE2b-256 |
9d7a10cb5b5c87d017bc828deadf400d4d436643c4fba2586dda44ead54f29f5
|
File details
Details for the file animate_netcdf-1.7.2-py3-none-any.whl.
File metadata
- Download URL: animate_netcdf-1.7.2-py3-none-any.whl
- Upload date:
- Size: 51.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b4b09b5d2441c4fb7841dc328fb04f523f5e2ba5ca83d40765d6245fd99307ac
|
|
| MD5 |
7304eba9c993161f52b0f4c4c2aec720
|
|
| BLAKE2b-256 |
35e6528a25bb6a23d73e39ac826fb780ffbd4bd5503ed539cf442a7107ee44eb
|