2017-12-23 41 views
1

누락 된 데이터의 특별한 경우를 나타 내기 위해 netcdf 파일에서 4 및 8 바이트 부동 변수에 "채우기"값을 설계하고 싶습니다. 이미 상수 NF_FILL_FLOAT가 있으며 설계에 대한 나의 이해는 커다란 이상한 값 이외에 매우 압축 가능한 비트 패턴을 가지고 있다는 것입니다. 나는 이것이 거대한 (x)과 다르다고 믿는다. 누락 된 값을 채우기 위해 이미 NF_FILL_FLOAT을 사용합니다. 내 값을 구별 할 수 있어야합니다. 어떻게해야합니까? 압축에 대한 고려 사항은 무엇입니까? 감사.Fortran에서 큰 압축 가능 이진 플로트 설계

+2

첫 번째 명백한 생각은 NF_FILL_FLOAT의 값을 실수와 비트 패턴으로 검사하는 것입니다. 조사의 결과는 무엇입니까? –

+0

personnaly, 나는 항상 정수 또는 실제 4 또는 8 바이트로 OK 인 값 -123456789를 사용합니다. 진정한 가치와 일치 할 확률은 너무 낮습니다 ... –

답변

2

NF_FILL_FLOAT을 2 ** n으로 나누면 어떨까요? n은 정수> = 0입니까? 이것은 당신에게 "n"개의 개별 "채우기 값"을 줄 것이고 본질적으로 부서는 비트를 단순히 n만큼 이동시키기 때문에 여전히 압축 가능해야합니다.

(물론 netcdf에 쓰는 경우 외부 소프트웨어는 한 가지 값인 MISSING 만 인식하므로 채우기 값은 인식되지 않습니다.)