open_dataset을 사용하여 MITgcm에서 생성 한 netcdf 출력을 열었습니다. 그러나 DataSet의 좌표 변수 중 하나가 DataArray가 아닌 전체 DataSet으로 돌아옵니다.Xarray - DataArray가 데이터 집합으로 열림
과정은 정상적으로 작동하는 것 같다 : (I 출력의 세부 사항 중 일부를 생략 한)
import xarray as xr
ds = xr.open_dataset('state.0000000000.nc')
<xarray.Dataset>
Dimensions: (T: 8, X: 16, Xp1: 17, Y: 16, Yp1: 17, Zld000100: 100, Zmd000100: 100)
Coordinates:
* T (T) float64 1.296e+05 3.888e+05 6.48e+05
* X (X) float64 500.0 1.5e+03 2.5e+03
* Y (Y) float64 4.85e+04 4.95e+04
* Xp1 (Xp1) float64 0.0 1e+03 2e+03
* Yp1 (Yp1) float64 4.8e+04 4.9e+04
* Zmd000100 (Zmd000100) int64 0 1 2
* Zld000100 (Zld000100) int64 0 1 2
Data variables:
iter (T) int32 1296 3888
diag_levels (Zmd000100) float64 1.0
합니다. 나는 T의 종류 좌표를 확인할 때 나는 다른 좌표/변수의 유형을 검사 할 때 그러나, 그것은 다시 데이터 집합
type(ds.T)
# xarray.core.dataset.Dataset
로 제공, 그들은
xarray.core.dataarray.DataArray
로 돌아와
ds.T 좌표는 ds와 같은 개체로 보입니다. 예를 들어, ds에 변수를 추가하면 ds.T에도 변수가 추가됩니다. 그것은 또한 ds.T.T.T가 예를 들어 같은 대상이되도록 무한 재귀 적으로 보인다.
기본 Netcdf 파일에서 T 차원과 다른 차원의 유일한 차이점은 T에 무제한 차원이 있다는 것입니다.
T = UNLIMITED ; // (4 currently)
그러나 무제한 크기의 더미 netcdf 파일을 만들었지 만 문제가 다시 발생하지 않았습니다.
나는 decode_times, decode_cf 및 decide_coords = False로 시도했지만 차이는 없습니다.
파이썬 2.7.12를 실행하는 xarray 버전 0.8.2를 사용하고 있습니다.
감사합니다 Stephan, 나는 이것에 낱말을 퍼뜨리는 것을 시도 할 것이다 – braaannigan