Weather-Sculpt
用真实的 ERA5 气象场"雕刻"出视频、GIF 和声音。
不是动画模拟——是 ECMWF 第五代再分析(ERA5, CC-BY 4.0)的真实大气状态, 经 4 个预调"雕刻"预设渲染成可发布的媒体,并附一条独有的天气声化通道。
不想装任何东西?浏览器 demo:
https://roblitz-spec.github.io/weather-sculpt/(待上线)
预设 · Presets
| 预设 | 画面 |
|---|---|
temperature_waves |
2 m 温度波场 |
wind_streamlines |
10 m 风场流线(按风速着色) |
rain_curtain |
6 小时滚动降水雨幕 |
pressure_vortex |
相对涡旋 + 等压线 |
快速开始 · Quickstart
pip install weather-sculpt
from weather_sculpt import render_video, sonify
# 内置迷你样本场(pip 免费层自带, 全 5 变量 / 1° / 7 天)
import os, weather_sculpt
DATA = os.path.join(os.path.dirname(weather_sculpt.__file__), "data", "era5_sample.zarr")
# 一段 60 帧的温度波场 GIF
render_video(DATA, "temperature_waves", "temperature.gif", frames=60, fps=3)
# 把降水"听"出来
sonify(DATA, "tp", "rain.wav", mode="sweep", frames=120)
用你自己的 ERA5 数据(任意 0.25° zarr/netCDF 同构数据集):
from weather_sculpt import open_weather, render_video
ds = open_weather("your/era5.zarr")
render_video(ds, "wind_streamlines", "wind.mp4", frames=120, fps=2)
免费层 vs 完整包 · Free tier vs Ready-to-Run
| 免费层(pip / 本仓库 / demo) | Ready-to-Run 完整包(Gumroad) | |
|---|---|---|
| 代码 | ✅ MIT | ✅ MIT + 商业授权书 |
| 数据 | 迷你样本场 | 全球 0.25° × 7 天 + 中国区域 × 30 天(下好、校验过,zstd) |
| 预设 | ✅ 全部 | ✅ 全部(预调参数) |
| 声化 | ✅ | ✅ |
| 商用 | 需自行遵循 CC-BY 署名并承担取数成本 | 商业授权 + 署名合规 + manifest 校验 |
完整包购买:见 Gumroad(链接待补)。
数据与署名 · Data & Attribution
ERA5 数据遵循 CC-BY 4.0(ECMWF)。任何再分发须保留署名:
Weather data: ECMWF ERA5 (CC-BY 4.0). Engine: weather-sculpt (roblitz).
文件结构
weather-sculpt/
├── weather_sculpt/
│ ├── fields.py # 场加载 + 涡度/散度/归一化
│ ├── presets.py # 4 个雕刻预设
│ ├── render.py # PNG 序列 / GIF / MP4
│ ├── sonify.py # 天气声化 (WAV)
│ └── data/ # 内置迷你样本场(全 5 变量, 1°, 7 天)
├── examples/
├── scripts/
│ ├── download_era5.py # ERA5 开放数据下载脚本(匿名 S3,免费)
│ ├── make_sample.py # 生成包内样本
│ ├── make_manifest.py # 生成校验和 manifest
│ ├── verify_manifest.py # 买家复算校验
│ └── make_showcase.py # 渲染展示 GIF
├── QUICKSTART.md
├── README.md / MODEL.md
└── LICENSE.md / LICENSE_COMMERCIAL.md
Release files for weather-sculpt 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| weather_sculpt-0.1.0.tar.gz | 17.1 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| weather_sculpt-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 34.1 MB
Release files / weather_sculpt-0.1.0.tar.gz
| Download URL | weather_sculpt-0.1.0.tar.gz |
|---|---|
| Size | 17.1 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6c31902e7be08b1b2de9a2e9573ac086e38648fc536f0147ac89cd834d3f8e9f
|
|
BLAKE2b-256 checksum How to use checksums |
80d63d8a8c2f1d293d3ead699bfcd2fdaa569f38cad2fcb21d03dcf5e08f4023
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / weather_sculpt-0.1.0-py3-none-any.whl
| Download URL | weather_sculpt-0.1.0-py3-none-any.whl |
|---|---|
| Size | 17.0 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1dae8ae698b38b0d078bbd844dd2b7bc08f0d50d059ca3f3037a000ce730e605
|
|
BLAKE2b-256 checksum How to use checksums |
f9f6d6d4633347d6655e119c4ec2db57cf80bed4aa6caa22b20d8bb3f34ad0db
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|