2017-10-18 14 views
0

ncdump를 통해 netCDF 출력 파일을 검사하고 Linux od 유틸리티를 통해 파일을 검사하려고합니다. 내가보고있는 것에 대해 질문이 있습니다. 예를 들어, ncdump에서, 나는 데이터 이제netCDF 파일의 간단한 바이너리 덤프를 수행 할 수 있습니까?

-10.55448, -10.52312, -10.4916, -10.46023, -10.42887, -10.39742, -10.36587, 

의 (여러 라인 중) 한 줄을 얻을, 나는이 찾을 것으로 기대 같은 자리에서 "OD"유틸리티와 같은 파일을 검사하려고

0002017 311 c 344 301 (337 ' 301 (^260 301 ' 335 224 301 
      -28.548723  -10.4919815  -22.045975  -18.607985 
0002033 ' ] 034 301 & 334 245 301 & [ 320 301 % 332 235 301 
       -9.772742  -20.732494  -26.044506  -19.731516 

즉, 인식 플로트 번호는 모두 내가 ncdump에서 무엇을 얻을 수 없습니다 : 위의 숫자는,

od -c -Ad -tf4 -j 2017 output.nc 

와 나는 완전히 다른 무언가를 얻을.

내가 예상했던 자리에 나타나지 않을 것으로 예상되는 수치는 아니지만 od 산출물의 첫 번째 숫자 인 -28.54872와 -10.49198 (5 자리로 반올림 됨)은 어디에도 나타나지 않습니다. 전혀 ncdump 출력.

이것은 합리적입니까? netCDF는 데이터와 함께 많은 양의 메타 데이터를 혼합하여 netCDF 파일의 직접 바이너리 덤프를 수행하는 것이 불가능합니까? 또는 이상한 일이 있습니까?

답변

0

마음에 떠오르는 즉각적인 생각은 헤더의 길이를 어떻게 알았습니까? 처음 2017 바이트를 건너 뛰고 있지만 어떻게 처리 했습니까? 데이터 자체가 아니라 실제로 메타 데이터의 일부를 구성하는 숫자를 덤핑하는 것으로 의심됩니다. 따라서 ncdump를 사용하여 숫자를 볼 수 없습니다. grep X

ncview는 매우 매우 강력합니다. 헤더를 읽고 데이터 레코드의 위치를 ​​정확히 알고 있습니다. 결과를 신뢰할 수 있습니다. 필자는 항상 파일 형식을 위해 특별히 설계된 utilities/packages를 사용하여 읽기 netcdf 파일을 조사하는 것이 좋습니다.

죄송합니다. 더 구체적인/도움이되지는 않지만 파일에 대한 액세스 권한이 없으면 조사하거나 대답하기가 어렵습니다.

+0

"od"의 오프셋을 실험하여 합당한 결과를 얻을 수있는 값을 찾고있었습니다. 2017 년은 이웃에있는 유일한 후보였습니다. 그리고 ncdump 출력을 신뢰합니다. 적어도, 나는 그것이 나에게 보여주고있는 것을 신뢰한다. 난 그냥 1) 그것이 게재되지 않을 수도 2) 왜 내가 출력에서 ​​동일한 데이터를 찾을 수 없습니까 궁금해? –

+0

ncdump는 헤더를 텍스트로 해석하여 보여줍니다. 즉, 누락 된 값, 단위 등을 메타 데이터가 정의되어있는 경우 알려줍니다. 헤더를 통해 무작위로 트롤링하여 메타 데이터의 원시 바이트를 표시하는 경우. 그래서 1) ncdump는 이해할 수있는 형태로 모든 것을 보여줍니다. 2) 전체 파일을 소리로 od로 버렸을 것입니다. 그리고 2 또는 4 바이트 정수 나 4/실수로 8 바이트를 두배로 늘립니다 (보통 4,8 바이트 단어를 분리 할 때 적당하지 않은 "합리적인"출력을 말합니다). –