기후 및 해양 과학은 거대한 배열, 즉 온도 격자, 해류, 모델 출력에 의존하며, 과거의 파일들은 불투명했다. 한 프로그램의 이진 덩어리는 다음 프로그램에서 읽을 수 없었고, 숫자의 의미는 논문이나 이메일에 담겨 있었다. Unidata Program Center에서 개발한 NetCDF(Network Common Data Form)는 이러한 계약을 바꾸었다.

설계 선택은 자기 설명이다. netCDF 파일은 포함된 데이터에 대한 정보를 기계 독립적 형식으로 저장하므로, 정수, 문자, 부동 소수점 수를 표현하는 방식이 다른 컴퓨터에서도 읽을 수 있다. 대규모 데이터셋의 작은 부분 집합을 원격에서도 효율적으로 가져올 수 있으며, 전체 파일을 복사하지 않고도 데이터를 추가할 수 있다.

이로 인해 한 연구소의 형식이 아니라 커뮤니티 표준이 되었다. Unidata는 이를 과학 데이터 공유를 위한 커뮤니티 표준이기도 한 라이브러리 및 기계 독립적 데이터 형식의 집합이라고 부르며, C, C++, Java, Fortran용 인터페이스를 제공한다. ECMWF는 netCDF를 과학 데이터 저장 및 배포에 흔히 사용되는 것으로 설명하며, CF와 같은 규약이 메타데이터를 표준화한다.

설명을 데이터 파일 안에 넣는다

자기 설명 파일은 읽기 위해 외부 문서가 필요 없다.

기계 독립성 덕분에 하나의 파일이 아키텍처를 넘어 변경 없이 이동할 수 있다.

부분 집합 추출 덕분에 거대한 데이터셋을 전체를 로드하지 않고도 사용할 수 있다.

모든 주요 언어를 위한 무료 라이브러리가 도입 비용을 없앴다.

데이터가 소프트웨어보다 오래 살아남을 때는 메타데이터를 파일에 내장하라. 자기 설명 형식은 파일이 스스로를 설명하기 때문에 도구가 바뀌어도 살아남는다.

NetCDF는 기후 및 해양 데이터의 공통 통화가 되었다. ECMWF는 자체 GRIB 형식과 함께 이를 제공하며, CF 규약은 그 안의 메타데이터를 표준화한다. NetCDF-4(2008)는 클래식 파일을 읽을 수 있게 유지하면서 현대적 기능을 추가했다.

근거 확인하기

출처

  1. NetCDF Software NSF Unidata (UCAR) · unidata.ucar.edu
  2. What are NetCDF files and how can I read them ECMWF Copernicus Knowledge Base · confluence.ecmwf.int ·