Rychlý start: Začínáme s datovými krychlemi v Microsoft Planetární Počítač Pro

Požadavky

Nastavení zdroje příjmu dat

Než začnete ingestovat data datové krychle, budete muset nastavit zdroj příjmu dat, který bude sloužit jako vaše přihlašovací údaje pro přístup k účtu Blob Storage, kde jsou uložené vaše prostředky a položky STAC. Zdroj příjmu dat můžete nastavit pomocí spravované identity nebo tokenu SAS.

Vytvoření kolekce datových krychlí

Jakmile je zdroj příjmu dat nastavený, můžete vytvořit kolekci pro prostředky datové krychle. Postup vytvoření kolekce je možné provést v části Vytvoření kolekce STAC s microsoft planetárním počítačem Pro pomocí Pythonu.

Zpracování prostředků datové krychle

Spuštění procesu příjmu dat datové krychle a dalších datových typů lze sledovat v dokumentu Přehled příjmu dat. Jak je popsáno v přehledu datových krychlí, je však příjem dat krokem v zpracování dat planetárního počítače Pro, který se u těchto typů souborů liší. Data GRIB2 a přidružené položky STAC se ingestují stejně jako jakýkoli jiný dvourozměrný rastrový soubor, netCDF a prostředky HDF5 projdou dalším rozšiřováním dat. Generování manifestů Kerchunk je zdokumentované v přehledu datové krychle, ale je důležité si uvědomit, že prostředky Kerchunk se přidají do kontejneru Blob Storage spolu s původními prostředky a do JSON položky STAC se přidá další cube:variables pole. To je důležité při vykreslování těchto datových typů v Průzkumníku planetárního počítače Pro.

Konfigurace kolekce datových krychlí

Konfigurace shromažďování datových krychlí je dalším krokem, který bude vypadat trochu jinak než u jiných datových typů. Při konfiguraci vaší kolekce datových krychlí můžete postupovat podle kroků popsaných v Konfigurace kolekce s Microsoft Planetární Počítač Pro, ale při vytváření konfigurace vykreslování je nutné vzít v úvahu následující rozdíly:

Konfigurace vykreslování pro prostředky NetCDF a HDF5

Připomínáme, že standardní argument konfigurace vykreslování ve formátu JSON vypadá takto:

[
  {
    "id": "prK1950-06-30",
    "name": "prK1950-06-30",
    "type": "raster-tile",
    "options": "assets=pr-kerchunk&subdataset_name=pr&rescale=0,0.01&colormap_name=viridis",
    "minZoom": 1,
    "info_options": "assets=pr-kerchunk&subdataset_name=pr"
  }
]

V options poli budete chtít využívat cloudově optimalizovaný prostředek Kerchunk, a ne původní asset uvedený v položce STAC. Budete také muset zahrnout subdataset_name argument, což je název proměnné, kterou chcete vykreslit.

Pole info_options aktivuje časový posuvník Průzkumníka pro tuto kolekci. Používá stejný formát URL dotazového řetězce jako options, ale měl by obsahovat pouze parametry potřebné pro /info objevování, typicky assets a subdataset_name. Vynechte parametry pro stylování a řezání, jako jsou rescale, colormap_name, a datetime. Když chcete, aby posuvník zůstal aktivní, nepřipněte datetime=... v options, protože pevně nastavená hodnota posuvník přepíše. Pokud vynecháte info_options, Explorer se vrátí ke čtení časových limitů z metadat STAC položek (cube:dimensions, start_datetime, ). end_datetime

Konfigurace vykreslování pro soubory GRIB2

Pole options pro konfiguraci vykreslování prostředků GRIB2 vypadá podobně jako v předchozím příkladu, ale argument subdataset_name nebudete muset zahrnout. Důvodem je to, že data GRIB2 jsou již optimálně strukturovaná a odkazovaná prostřednictvím jejich indexových souborů. Argument assets v tomto případě představuje pruh nebo 2D rastrové vrstvy, které chcete vykreslit. Níže je příklad konfigurace vykreslení GRIB2:

[ 
 {
    "id": "render-config-1",
    "name": "Mean Zero-Crossing Wave Period",
    "description": "A sample render configuration. Update `options` below.",
    "type": "raster-tile",
    "options": "assets=data&subdataset_bands=1&colormap_name=winter&rescale=0,10",
    "minZoom": 1,
    "info_options": "assets=data"
 }
]

Pro GRIB2 nastavte info_options na asset key použitý v options. Přidání info_options aktivuje časový posuvník Exploreru, který přímo z koncového bodu /info Tileru získává dostupné indexy pásem/zpráv GRIB. Pokud vaše GRIB kolekce zpřístupňuje více konfigurací renderování pro různé assety, přidejte info_options do každé možnosti renderování, která by měla řídit posuvník.

Konfigurace vykreslování pro prostředky Zarr

Pole options pro prostředky Zarr se podobá NetCDF a HDF5, ale existují dvě důležité požadavky:

  1. Vyberte jeden časový řez pro vykreslování pomocí sel=time=....
  2. Před vykreslením zmenšete data na 2D výstup.

Pokud nejsou zhroucené další dimenze, může vykreslování selhat s chybami, jako je například Source data must be 1 band.

Další informace o parametru sel si můžete přečíst v Xarray DataArray.sel. Následuje minimální funkční konfigurace vykreslování Zarr pro jeden časový krok a 2D zobrazení:

[
    {
        "id": "era5-zarr-single-time",
        "name": "ERA5 single timestep",
        "type": "raster-tile",
        "options": "assets=data&subdataset_name=precipitation_amount_1hour_Accumulation&sel=time=2024-01-01&sel_method=nearest&colormap_name=viridis&rescale=0,0.01",
        "minZoom": 12
    }
]

Vizualizace prostředků datových krychlí v Průzkumníku

Jakmile jsou datové krychle ingestovány a nakonfigurovány, můžete je vizualizovat v Průzkumníku Planetary Computer Pro. Podrobný průvodce používáním Průzkumníka můžete sledovat v Rychlý průvodce: Použití Průzkumníka v Microsoft Planetární Počítač Pro.

I když Microsoft Planetární Počítač Pro obsahuje tiler, který lze použít k vizualizaci některých datových krychlí, jsou zde některá omezení, pokud jde o každý podporovaný datový typ.

Vizualizace NetCDF a HDF5

Ne všechny datové sady NetCDF, které lze ingestovat do Microsoft Planetary Computer, jsou kompatibilní se softwarem Planetary Computer Pro pro vizualizační dlaždice. Datová sada musí mít osy X a Y, souřadnice zeměpisné šířky a délky a prostorové rozměry a hranice, které se mají vizualizovat. Datová sada, ve které jsou zeměpisné šířky a délky proměnné, ale nikoli souřadnice, není kompatibilní s tilerem planetárního počítače Pro.

Než se pokusíte vizualizovat datovou sadu NetCDF nebo HDF5, můžete pomocí následujícího příkazu zkontrolovat, jestli splňuje požadavky.

  1. Instalace požadovaných závislostí

    pip install xarray[io] rioxarray cf_xarray
    
  2. Spusťte následující funkci:

    import xarray as xr
    import cf_xarray
    import rioxarray
    
    def is_dataset_visualizable(ds: xr.Dataset):
        """
        Test if the dataset is compatible with the Planetary Computer tiler API.
        Raises an informative error if the dataset is not compatible.
        """
        if not ds.cf.axes:
            raise ValueError("Dataset does not have CF axes")
        if not ds.cf.coordinates:
            raise ValueError("Dataset does not have CF coordinates")
        if not {"X", "Y"} <= ds.cf.axes.keys():
            raise ValueError(f"Dataset must have CF X and Y axes, found: {ds.cf.axes.keys()}")
    
        if not {"latitude", "longitude"} <= ds.cf.coordinates.keys():
            raise ValueError("Dataset must have CF latitude and longitude coordinates, "
                             f"actual: {ds.cf.coordinates.keys()}")
    
        if ds.rio.x_dim is None or ds.rio.y_dim is None:
            raise ValueError("Dataset does not have rioxarray spatial dimensions")
    
        if ds.rio.bounds() is None:
            raise ValueError("Dataset does not have rioxarray bounds")
    
        left, bottom, right, top = ds.rio.bounds()
        if left < -180 or right > 180 or bottom < -90 or top > 90:
            raise ValueError("Dataset bounds are not valid; they must be within [-180, 180] and [-90, 90]")
    
        if ds.rio.resolution() is None:
            raise ValueError("Dataset does not have rioxarray resolution")
    
        if ds.rio.transform() is None:
            raise ValueError("Dataset does not have rioxarray transform")
    
        print("✅ Dataset is compatible with the Planetary Computer tiler API.")
    

Vizualizace GRIB2

Prostředky GRIB2, které byly přijaty do Microsoft Planetární Počítač Pro, lze vizualizovat v Exploreru, pokud mají přidružený indexový soubor (.idx) uložený ve stejném kontejneru Blob Storage. Soubor indexu se generuje během příjmu dat a je vyžadován pro optimální přístup a vykreslování dat GRIB2.

Vizualizace Zarr

Prostředky Zarr integrované do Microsoft Planetární Počítač Pro lze vizualizovat v Průzkumníku, pokud nastavení vykreslení určuje, která proměnná a časový úsek se má vykreslit pomocí parametru sel ve options poli. Pokud to neuděláte, Průzkumník se pokusí vykreslit všechny proměnné a časové řezy úložiště Zarr najednou, což způsobí pád Průzkumníka.

Výkon bude ovlivněn také velikostí úložiště Zarr a prostorových bloků. Měli byste se zaměřit na zachování celkové velikosti úložiště Zarr pod 2 GB a každý blok dat menší než 100 MB pro optimální výkon tileru.

Omezení vizualizace Zarr a známé problémy

Chování posuvníku času (známé omezení)

Poznámka:

Chování posuvníku času pro Zarr je aktuálně omezené. Posuvník času Průzkumníka se zobrazí pouze v okamžiku, kdy se během příjmu dat správně zjistí časová dimenze.

I když prostředky Zarr obsahují časové hodnoty, může selhat detekce časových metadat pro některé datové sady. V takových případech se posuvník času nevykreslí a je nutné vizualizovat jednotlivé kroky časové osy v konfiguraci vykreslování (například sel=time=2024-01-01).

Pokud chcete povolit chování s časovými informacemi, měla by metadata STAC obsahovat dočasnou dimenzi s cube:dimensions :

  • type: temporal
  • extent
  • step

V případě zdrojových dat Zarr postupujte podle časových konvencí CF, pokud je to možné, například:

  • standard_name="time"
  • axis="T"

Tyto konvence jsou nezbytné pro konzistentní interpretaci metadat, ale vzhledem k aktuálním omezením nejsou vždy dostatečné k zajištění podpory posuvníku času pro každou datovou sadu Zarr.

Poznámky k Kerchunk

Kerchunk může zlepšit výkon pro vzory multidimenzionálního přístupu, ale nevyřeší problémy s časovým posuvníkem, když se během příjmu dat nezjistily dočasné dimenze.

Některé datové sady Zarr mohou také selhat během zpracování indexu s chybami, jako je Index must be monotonic increasing or decreasing.

Posuvník času pro vizualizaci datové krychle

Pokud prostředky datové krychle mají časovou komponentu, můžete pomocí posuvníku času v Průzkumníku vizualizovat změny v čase. Posuvník času se zobrazí automaticky, pokud položky STAC obsahují prostředky s time dimenzí a extent a step polem.

Poznámka:

Informace o prostředcích Zarr najdete v části Omezení vizualizace Zarr a známé problémy ohledně omezení posuvníku aktuálního času a požadovaných vzorů konfigurace vykreslování.