2016-12-05 12 views
0

나는 netCDF 파일을 가지고 있습니다. ncdump :netCDF에서 그룹에서 변수 추출하기

netcdf test_nc { 
dimensions: 
    time = UNLIMITED ; // (20 currently) 
    latitude = 360 ; 
    longitude = 720 ; 
    N = 3 ; 
    strlen = 1 ; 
variables: 
    float data_array(time, latitude, longitude, N) ; 
     data_array:_FillValue = -9999.f ; 
     data_array:units = "1" ; 
     data_array:long_name = "data_array" ; 
    char N(N, strlen) ; 
    double latitude(latitude) ; 
     latitude:standard_name = "latitude" ; 
     latitude:units = "degrees_north" ; 
    double longitude(longitude) ; 
     longitude:standard_name = "longitude" ; 
     longitude:units = "degrees_east" ; 
    double time(time) ; 
     time:standard_name = "time" ; 
     time:units = "days since 2000-01-01 00:00:00.0" ; 
     time:calendar = "gregorian" ; 
} 

은 어떻게 data_array 그룹의 마지막 변수를 추출 할 수 있습니까? 내가 ncks를 사용하는 경우,이 같은 data_array을 모두 추출 할 수 있습니다 :

ncks -v data_array test_nc.nc output_nc.nc

그러나, 나는 단지 data_array에서 N = 3에 해당하는 변수를 추출 할. 파이썬 netCDF4 또는 nco 도구를 사용하는 모든 솔루션은 나를 위해 작동하지만 (cdo는 사용하지 않음), 또한 창에서 작업해야합니다.

답변

1

내가 올바르게 이해한다면 편향적인 용어를 사용하고 다른 사람들이 "변수"와 "하이퍼 슬랩"이라고 부르는 "그룹"과 "변수"를 호출하십시오. 수치 제어 발진기 솔루션은 ncks로, 대부분의 어떤 연산자를 hyperslab 옵션 (-d)를 사용하는 것입니다 :

ncks -d N,2 -v data_array in.nc out.nc 

지수는 기본적으로 0 - 기반 그래서 N = 2는 당신에게 N.

의 마지막 조각을 제공합니다 덕분에
+0

! 이것은 정확히 내가 필요로하는 것입니다. 또한 용어를 수정 해 주셔서 감사합니다. – user308827