Como visualizar um conjunto de dados NetCDF

Oct 24 2020

Suponha que eu tenha um NetCDFarquivo bastante grande que abro como um conjunto de dados usando xarray.

import xarray

nc_in = r"....\D_P_WGS84_comp.nc"
nc_ds = xarray.open_dataset(nc_in)

É composto de múltiplas variáveis ​​raster, cada uma com uma única banda, coordenadas x, y e um crs (4326):

nc_ds

Suponha que eu queira visualizar isso de forma muito simples em meu Python Notebook. Eu realmente não quero adicionar mapas básicos ou legendas ou qualquer coisa assim. Tentei simplesmente executar show(nc_ds) but throws an errors AttributeError: o objeto 'Dataset' não tem atributo 'forma'. Também notei que as dimensões estão congeladas. Qual é a maneira mais simples de visualizar este conjunto de dados ou uma única variável dele em Python? Existe um mod ou extensão de pacote que faria isso?

Respostas

2 bugmenot123 Oct 24 2020 at 03:24

Como a Datasetpode conter mais de uma variável, não seria trivial para o software saber o que você deseja exibir. Se você selecionar uma de suas variáveis ​​como DataArrayno entanto, ela pode ser facilmente exibida (se estiver em um formato apropriado).

As variáveis ​​de a Datasetestão disponíveis por meio de seu data_varsatributo. Isso expõe as variáveis ​​como DataArrays em um dicionário com os nomes das variáveis ​​como chaves.

Passo a passo:

variables = nc_ds.data_vars
f02_nbr_e0002 = variables['F02_NBR_E0002']
show(f02_nbr_e0002)

Oneliner eficiente:

show(nc_ds.data_vars['F02_NBR_E0002'])