Zarr и экспорт полей
Ленивый Zarr
Заголовок раздела «Ленивый Zarr»/data — смонтированное xpublish-приложение перед ZarrTokenGate. Сначала получите список
dataset id:
curl "https://wxs.weatherpaper.org/data/datasets" -H "X-API-Key: $WXS_API_KEY"При открытии из xarray передайте ключ клиенту хранилища. Конкретная форма
storage_options зависит от версии xarray/Zarr; проверяйте запросы клиента к
/data/datasets/{id}/zarr/ и живую xpublish-схему.
import osimport xarray as xr
url = "https://wxs.weatherpaper.org/data/datasets/forecast~aurora15/zarr/"ds = xr.open_zarr( url, storage_options={"headers": {"X-API-Key": os.environ["WXS_API_KEY"]}},)subset = ds["t2m"].isel(time=-1, lead_time=slice(0, 24)).sel( lat=slice(46, 44), lon=slice(38, 42))Всегда делайте .isel()/.sel() до .load() — полный глобальный прогноз не рассчитан на
материализацию в памяти клиента.
Ограниченный NumPy-экспорт
Заголовок раздела «Ограниченный NumPy-экспорт»GET /api/export перечисляет экспортируемые группы, поля, алиасы, единицы и ревизии схемы.
Затем скачайте конкретный временной и пространственный фрагмент:
curl -G "https://wxs.weatherpaper.org/api/export/forecast~aurora15/npy" \ -H "X-API-Key: $WXS_API_KEY" \ --data-urlencode 'var=scaled_tp_1h' \ --data-urlencode 'time_index=0' \ --data-urlencode 'lead_start=0' \ --data-urlencode 'lead_stop=24' \ --data-urlencode 'lat_min=44' --data-urlencode 'lat_max=47' \ --data-urlencode 'lon_min=37' --data-urlencode 'lon_max=42' \ --output precipitation.npyЗаголовок X-WXS-Field содержит canonical/stored name, dimensions, shape и dtype.
Превышение field_export_max_mb возвращает 413; сузьте срок, bbox, уровень или переменную.