2017-12-04 5 views
0

는 내가 대신 (XR, 시간)의 (시간, XR)의 크기를 가지고 변수 v1을 만들고 싶어, 여기netCDF 파일의 크기를 바꾸려면 어떻게해야합니까?

dimensions: 
    time = 1000 ; 
    xr = 100 ; 
variables: 
    int time(time) ; 
     time:long_name = "time since time reference (instant)" ; 
     time:units = "hours since 2010-05-01" ; 
    double v1(xr, time) ; 
     v1:long_name = "V1" ; 
     averageInstantRunoff:units = "m s-1" ; 
    double v1(time, xr) ; 
     v1:long_name = "V1" ; 
     averageInstantRunoff:units = "m s-1" ; 
    int xr(xr) ; 
     xr:long_name = "xr index" ; 
     xr:units = "-" ; 

있습니다.

ncpdq -v v1 -a time,xr test.nc test2.nc 

을하지만, 당연히, 그것은 V2를 복사하지 않습니다

나는이 사용 않습니다. 많은 수의 변수가있는 대용량 파일에 대해 수행하고 단일 변수에 대해서만 수행하려고합니다.

어떻게하면됩니까?

답변

2

또한 사용 ncap2 변경하다() 메소드 할 수 있습니다

ncap2 -s 'v1_prm=v1.permute($time,$xr)' in.nc out.nc 

하지만이 다음 출력이 V1과 v1_prm있을 것이다. 어느 쪽이든 그것은 (ncpdq 메서드를) 추가하거나 여분의 변수 (ncap2 메서드)를 제거하기위한 두 번째 단계가 필요하기 때문에 NCO를 사용하는 두 줄 프로세스입니다.

관련 문제