넷 CDF

NetCDF
네트워크 공통 데이터 폼
파일 이름 확장자
.nc
인터넷 미디어 유형응용 프로그램/netcdf
응용 프로그램/x-netcdf
매직 넘버CDF\001
\211 HDF\r\n\032\n
개발자UCAR
포맷의 종류과학적 이진 데이터
확장원CDF
HDF
웹 사이트www.unidata.ucar.edu/software/netcdf/ Edit this at Wikidata

NetCDF(Network Common Data Form)는 어레이 지향 과학 데이터의 작성, 액세스 및 공유를 지원하는 소프트웨어 라이브러리와 자기 기술, 머신에 의존하지 않는 데이터 형식 세트입니다.프로젝트[1] 홈페이지는 University Corporation for Motheric Research(UCAR)의 Unidata 프로그램이 주최하고 있다.또한 net CDF 소프트웨어, 표준 개발, 업데이트 등의 주요 소스이기도 합니다.형식은 오픈 스탠다드입니다.NetCDF Classic 및 64비트 오프셋 포맷은 Open Geospatial Consortium의 [2]국제 표준입니다.

이 프로젝트는 1988년에 시작되어 지금도 UCAR의 적극적인 지원을 받고 있다.원래의 netCDF 바이너리 포맷(1990년에 발매, 현재는 「netCDF classic 포맷」이라고 불리고 있다)은, 여전히 전 세계에서 널리 사용되고 있어 모든 netCDF 릴리스에서 완전하게 서포트되고 있습니다.버전 4.0(2008년 출시)에서는 HDF5 데이터 파일 형식을 사용할 수 있습니다.버전 4.1 (2010)에서는 OPeNDAP 경유로 지정된 리모트 데이터 서브셋에 대한 C 및 Fortran 클라이언트 액세스 지원이 추가되었습니다.버전 4.3.0(2012)에서는 Windows 빌드용 CMake 빌드 시스템이 추가되었습니다.버전 4.7.0(2019)에서는 Amazon S3 객체 읽기 지원이 추가되었습니다.성능 향상, 기능 추가 및 버그 수정을 위한 추가 릴리스가 계획되어 있습니다.

역사

이 포맷은 원래 NASA개발한 공통 데이터 포맷의 개념 모델을 기반으로 했지만 이후 다양해져서 [3][4]호환성이 없습니다.

형식 설명

netCDF 라이브러리는 netCDF 파일에 대해 여러 바이너리 형식을 지원합니다.

  • 클래식 포맷은 첫 번째 netCDF 릴리즈에서 사용되었으며 여전히 파일 작성의 기본 포맷입니다.
  • 64비트 오프셋 형식은 버전 3.6.0에서 도입되었으며 더 큰 변수 및 파일 크기를 지원합니다.
  • net CDF-4/HDF5 포맷은 버전 4.0에서 도입되었습니다.HDF5 데이터 포맷이지만 몇 가지 제한이 있습니다.
  • HDF4 SD 포맷은 읽기 전용 액세스에 대응하고 있습니다.
  • 병렬 netcdf 프로젝트와 연계하여 CDF5 형식이 지원됩니다.

모든 형식은 "자기 설명"입니다.즉, 파일, 특히 데이터 배열의 레이아웃과 이름/ 속성 형식의 임의 파일 메타데이터를 설명하는 헤더가 있습니다.형식은 플랫폼에 의존하지 않으며 소프트웨어 라이브러리에서 엔디안성 등의 문제가 해결됩니다.데이터는 효율적인 서브셋을 가능하게 하는 방법으로 저장됩니다.

버전 4.0 이후 netCDF API에서는[5] HDF5 데이터 형식을 사용할 수 있습니다.NetCDF 사용자는 훨씬 큰 파일이나 여러 개의 무제한 치수 등 NetCDF 형식에서는 이용할 수 없는 장점을 가진 HDF5 파일을 만들 수 있습니다.

이전 netCDF 파일에 액세스하여 이전 버전의 C 및 Fortran API를 사용할 때 완전한 하위 호환성이 지원됩니다.

소프트웨어

라이브러리 액세스

UCAR에서 제공하는 소프트웨어 라이브러리는 netCDF 파일에 대한 읽기/쓰기 액세스를 제공하며, 필요한 배열 및 메타데이터를 인코딩 및 디코딩합니다.코어 라이브러리는 C로 작성되며 C, C++ 및 Fortran 애플리케이션용 API 2개, Fortran 77용 API 1개, Fortran 90용 API 1개를 제공합니다.Unidata에 의해 개발 및 유지 보수된 독립 구현은 100% Java로 작성되어 핵심 데이터 모델을 확장하고 추가 기능을 추가합니다.C 라이브러리를 기반으로 하는 netCDF에 대한 인터페이스는 R(ncdf,[6] ncvarRNetCDF[7] 패키지), Perl, Python, Ruby, Haskell,[8] Mathematica, MATLAB, IDL, Julia Octab 등 다른 언어에서도 사용할 수 있습니다.API 호출의 사양은 구문의 필연적인 차이를 제외하고 여러 언어에서 매우 유사합니다.버전 2의 API 호출은 버전3의 API 호출과는 다소 다르지만 하위 호환성을 위해 버전3과 버전4에서도 지원됩니다.지원되는 언어를 사용하는 응용 프로그램프로그래머는 파일 구조 자체를 오픈 포맷으로 사용할 수 있지만 일반적으로는 신경 쓸 필요가 없습니다.

적용들

net CDF 파일을 사용하는 다양한 애플리케이션 소프트웨어가 작성되었습니다.여기에는 명령줄 유틸리티에서 그래픽 시각화 패키지에 이르기까지 다양합니다.아래에 번호가 나열되어 있으며, 더 긴 목록은[9] UCAR 웹 사이트에 나와 있습니다.

  • NetCDF 파일에 일반적으로 사용되는 Unix 명령줄 유틸리티 세트NetCDF Operators(NCO) 스위트로, 기본 레코드 연결, 배열 슬라이싱 평균화를 포함한 NetCDF 파일의 조작 및 분석을 위한 다양한 명령을 제공합니다.
  • ncBrowse는[10] 광범위한 netCDF 파일 규약을 위한 Java 그래픽, 애니메이션 및 3D 시각화를 포함하는 일반적인 netCDF 파일 뷰어입니다.
  • ncview는[11] netCDF 형식 파일용 비주얼 브라우저입니다.이 프로그램은 NetCDF 파일의 필드를 시각화하기 위한 간단하고 빠른 GUI 기반 도구입니다.원시 데이터 값을 보면서 데이터 배열의 다양한 차원을 살펴볼 수 있습니다.또한 색상 맵 변경, 데이터 반전 등이 가능합니다.
  • Panoply는[12] NASA Goddard Institute for Space Studies에서 개발한 NetCDF 파일 뷰어이며, 지리 그리드 데이터 표시에 초점을 맞추고 있습니다.Java로 작성되어 플랫폼에 의존하지 않습니다.기능 세트가 ncBrowse, ncview와 겹치지만, Panoply는 다양한 지도 투영과 다양한 축척 컬러 테이블 작업 기능을 제공하는 것이 특징이다.
  • NCAR Command Language(NCL; NCAR 명령어 언어)는 netCDF 파일(다른 형식 중)의 데이터를 분석 및 시각화하기 위해 사용됩니다.
  • Python 프로그래밍 언어는 PyNIO[13] 모듈을 사용하여 netCDF 파일에 액세스할 수 있습니다(또한 다양한 다른 데이터 형식에 대한 액세스를 용이하게 합니다).netCDF 파일은 Python 모듈에서도 읽을 수 있습니다.netCDF4-python팬더[14]같은 모습으로DataFrame와 함께xarray모듈로 이동합니다.[15]
  • Ferret은 크고 복잡한 그리드 데이터 세트를 분석하는 해양학자 및 기상학자의 요구를 충족하도록 설계된 인터랙티브 컴퓨터 시각화 및 분석 환경입니다.Ferret은 Mathematica와 유사한 분석 방법을 제공합니다. 새로운 변수는 데이터 집합 변수를 포함하는 수학식으로 대화식으로 정의될 수 있습니다.계산은 임의의 형상의 영역에 적용할 수 있습니다.완전한 문서화된 그래픽스는 하나의 명령으로 생성됩니다.
  • 그리드 분석 및 디스플레이 시스템(Grad Analysis and Display System, Grads)[16]은 지구과학 데이터의 쉬운 액세스, 조작 및 시각화에 사용되는 대화형 데스크톱 도구입니다.GrADS는 일반적으로 사용되는 다양한 운영체제에 전 세계적으로 구현되어 인터넷을 통해 자유롭게 배포되고 있습니다.
  • nCDF_Browser는[17] IDL 프로그래밍 언어로 작성된 시각적 nCDF 브라우저입니다.변수, 속성 및 치수는 추가 처리를 위해 IDL 명령줄에 즉시 다운로드할 수 있습니다.nCDF_Browser 실행에 필요한 모든 Coyote 라이브러리 파일을[18] zip 파일로 사용할 수 있습니다.
  • 9.2[19] 이후의 ArcGIS 버전은 기후예측 메타데이터 규약을 따르고 등간격 좌표를 가진 직선 그리드를 포함하는 netCDF 파일을 지원합니다.다차원 도구 도구 상자를 사용하여 ArcMap의 netCDF 데이터에서 래스터 도면층, 피쳐 도면층 및 테이블 뷰를 만들거나 피쳐, 래스터 및 테이블 데이터를 netCDF로 변환할 수 있습니다.
  • Origin Pro 버전 2021b는 net CDF CF 규약을 지원합니다.평균화를 Import 중에 실행하여 GUI 소프트웨어에서 대규모 데이터 세트를 처리할 수 있습니다.
  • 지리 공간 데이터 추상화 라이브러리는 netCDF 데이터에 대한 읽기 및 쓰기 액세스를 지원합니다[21].
  • netCDF Explorer는 netCDF 파일용 멀티 플랫폼그래피컬 브라우저입니다netCDF 탐색기는 OPeNDAP을 통해 로컬 또는 원격으로 파일을 참조할 수 있습니다.
  • Rncdf4(HDF5 [22]지원 포함) 또는 RNetCDF(HDF5 [23]지원 없음) 등의 패키지를 통해 netCDF를 지원합니다.
  • HDFql을 사용하면 C, C++, Java, Python, C#, Fortran 및 R의 고급 언어(SQL과 유사)를 통해 NetCDF-4/HDF5 파일을 관리할 수 있습니다.
  • ECMWFMetview 워크스테이션 및 배치 시스템은 GRIB BUFR과 함께 NetCDF를 처리할 수 있습니다.
  • OpenChromEclipse Public[24] License 조건에 따라 컨버터를 출하합니다.

일반적인 용도

기후학, 기상학해양학 애플리케이션(: 기상 예보, 기후 변화) GIS 애플리케이션에 일반적으로 사용됩니다.

이것은 많은 GIS 애플리케이션 및 일반적인 과학 데이터 교환을 위한 입출력 형식입니다.사이트의 [25]견적을 내겠습니다.

NetCDF(Network Common Data Form)는 어레이 지향 데이터 액세스를 위한 인터페이스 세트이며 C, Fortran, C++, Java 및 기타 언어용 데이터 액세스 라이브러리의 자유롭게 분산된 모음입니다.netCDF 라이브러리는 과학 데이터를 표현하기 위해 기계에 의존하지 않는 형식을 지원합니다.인터페이스, 라이브러리 및 형식이 함께 과학 데이터의 생성, 액세스 및 공유를 지원합니다."

관습

Climate and Forecast(CF; 기후 예측) 규약은 NetCDF Application Programmer Interface(API; 응용 프로그램프로그래머 인터페이스)로 작성된 파일의 처리 및 공유를 촉진하기 위한 지구 과학 데이터의 메타데이터 규약입니다.규약은 데이터와 동일한 파일에 포함된 메타데이터(따라서 파일을 "자기 기술"로 만듭니다)를 정의하며, 각 변수의 데이터가 무엇을 나타내는지, 데이터의 공간 및 시간 속성(그리드 셀 경계 및 셀 평균화 방법 등 그리드에 대한 정보 포함)에 대한 명확한 설명을 제공합니다.이를 통해 서로 다른 소스의 데이터 사용자가 비교할 수 있는 데이터를 결정할 수 있으며 강력한 추출, 재배열 및 표시 기능을 갖춘 애플리케이션을 구축할 수 있습니다.

병렬 NetCDF

병렬 컴퓨팅용 netCDF의 확장판인 Parallel-NetCDF(또는 PnetCDF)는 Argonne National Laboratory와 Northwestern [26]University에 의해 개발되었습니다.이는 MPI 통신에 대한 I/O 확장인 MPI-IO를 기반으로 합니다.Parallel-NetCDF 라이브러리는 높은 수준의 NetCDF 데이터 구조를 사용하여 여러 프로세서 간에 파일 읽기 및 쓰기 애플리케이션을 효율적으로 배포할 수 있습니다.Parallel-NetCDF 패키지는 클래식 및 64비트 오프셋 형식만 읽고 쓸 수 있습니다.Parallel-NetCDF는 netCDF-4.0에서 사용 가능한 HDF5 기반 포맷을 읽거나 쓸 수 없습니다.Parallel-NetCDF 패키지는 Fortran과 C에서 서로 다르지만 유사한 API를 사용합니다.

Unidata net CDF 라이브러리의 병렬 I/O는 HDF5 데이터 파일에 대해 릴리스 4.0부터 지원되고 있습니다.버전 4.1.1 이후 Unidata NetCDF C 라이브러리는 NetCDF API를 사용하여 기존 및 64비트 오프셋 파일에 대한 병렬 I/O를 지원합니다.

C/Fortran/C++ 라이브러리와 다른 형식의 상호 운용성

netCDF C 라이브러리 및 이에 기반한 라이브러리(Fortran 77 및 Fortran 90, C++ 및 모든 서드파티 라이브러리)는 버전 4.1.1부터 다른 데이터 형식의 데이터를 읽을 수 있습니다.HDF5 형식의 데이터를 읽을 수 있지만 몇 가지 제한이 있습니다.HDF4 Scientific Data(SD) API를 사용하여 작성한 경우 HDF4 형식의 데이터를 netCDF C 라이브러리에서 읽을 수 있습니다.

NetCDF-Java 공통 데이터 모델

NetCDF-Java 라이브러리는 현재 다음과 같은 파일 형식과 원격 액세스 프로토콜을 읽습니다.

  • BUFR 포맷 문서[27] (개발 진행 중)
  • CINRAD 레벨[28] II(중국 레이더 형식)
  • 방위[29] 기상 위성 프로그램
  • DORADE[30] 레이더 파일 형식
  • GINI[31](GOES Ingest and NOAPORT Interface) 이미지 형식
  • GEMPAK[32] 그리드 데이터
  • GRIB 버전1 및 버전2(테이블 상에서 동작)
  • GTOPO[33] 30초 고도 데이터 세트(USGS)
  • 계층형 데이터 포맷(HDF4, HDF-EOS2, HDF5, HDF-EOS5)
  • NetCDF[34](클래식 및 대형 포맷)
  • NetCDF-4[35](HDF5 기반)
  • NEXRAD[36] 레이더 레벨 2 및 레벨 3.

개발 중인 다른 형식도 많이 있습니다.NetCDF API를 통해 각각에 투명하게 액세스하기 때문에 NetCDF-Java 라이브러리는 과학적 데이터셋을 위한 공통 데이터 모델을 구현한다고 합니다.

Java 공통 데이터 모델에는 3개의 레이어가 있으며, 이들 레이어는 서로 위에 구축되어 보다 풍부한 시멘틱스를 순차적으로 추가합니다.

  1. 구문 계층이라고도 하는 데이터 액세스 계층은 데이터 읽기를 처리합니다.
  2. 좌표계 계층은 데이터 배열의 좌표를 식별합니다.좌표는 과학 데이터에 대한 완전히 일반적인 개념입니다. 지구 과학 커뮤니티에 중요한 특수 지리 참조 좌표계는 특별히 주석을 달았습니다.
  3. 과학 데이터 유형 계층은 그리드, 이미지 및 점 데이터와 같은 특정 데이터 유형을 식별하고 각 데이터 유형에 대해 특별한 방법을 추가합니다.

데이터 액세스레이어의 데이터 모델은 NetCDF-3 데이터 모델의 일반화이며 NetCDF-4 데이터 모델과 실질적으로 동일합니다.좌표계 계층은 기후예측 메타데이터 규칙의 개념을 구현하고 확장합니다.과학 데이터 유형 레이어를 사용하면 Open Geospatial Consortium 사양과 유사한 좌표 공간에서 데이터를 조작할 수 있습니다.좌표계 및 데이터 입력 식별은 계속 진행 중이지만 사용자는 런타임에 자신의 클래스를 연결하여 특수한 처리를 수행할 수 있습니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ "NetCDF Home Page". Unidata/UCAR. Archived from the original on 2017-12-06. Retrieved 2017-12-05.
  2. ^ "OGC standard netCDF Classic and 64-bit Offset". Opengeospatial.org. Archived from the original on 2017-11-30. Retrieved 2017-12-05.
  3. ^ "Background - The NetCDF Users' Guide". Unidata.ucar.edu. Retrieved 2013-11-27.
  4. ^ "CDF - Frequently asked questions". NASA. Archived from the original on 2018-06-19. Retrieved 2018-11-02.
  5. ^ "Version 4.0 of the netCDF API". Unidata.ucar.edu. Archived from the original on 2015-06-17. Retrieved 2013-11-27.
  6. ^ "ncdf". Cirrus.ucsd.edu. 2013-08-06. Archived from the original on 2013-12-03. Retrieved 2013-11-27.
  7. ^ "Rnetcdf". Cran.r-project.org. 2012-07-19. Archived from the original on 2013-12-02. Retrieved 2013-11-27.
  8. ^ "hnetcdf: Haskell NetCDF library". hackage.haskell.org. 2014-07-10. Archived from the original on 2014-07-09. Retrieved 2014-07-10.
  9. ^ "Software for Manipulating or Displaying NetCDF Data". Unidata.ucar.edu. Retrieved 2020-10-23.
  10. ^ "ncBrowse". Epic.noaa.gov. Archived from the original on 2013-12-03. Retrieved 2013-11-27.
  11. ^ "ncview". Meteora.ucsd.edu. Archived from the original on 2014-02-12. Retrieved 2013-11-27.
  12. ^ "Panoply". Giss.nasa.gov. Goddard Institute for Space Studies. Archived from the original on 2014-06-20. Retrieved 2013-11-27.
  13. ^ "PyNIO". Pyngl.ucar.edu. 2011-07-28. Archived from the original on 2013-11-25. Retrieved 2013-11-27.
  14. ^ "netCDF4". Archived from the original on 2017-11-29. Retrieved 2017-12-04.
  15. ^ "xarray: N-D labeled arrays and datasets in Python". Archived from the original on 2016-09-01. Retrieved 2016-09-07.
  16. ^ "GrADS Home Page". Archived from the original on 2016-02-13. Retrieved 2018-04-10.
  17. ^ "Coyote's Guide to IDL Programming". Dfanning.com. 2013-11-23. Archived from the original on 2015-09-23. Retrieved 2013-11-27.
  18. ^ "Coyote Library". Dfanning.com. 2013-11-23. Archived from the original on 2015-09-23. Retrieved 2013-11-27.
  19. ^ "ArcGIS version 9.2". Esri.com. Archived from the original on 2013-11-22. Retrieved 2013-11-27.
  20. ^ "NetCDF Importing and Processing". originlab.com. Retrieved 2021-05-11.
  21. ^ "NetCDF network Common Data Form". Gdal.org. Archived from the original on 2013-06-06. Retrieved 2013-11-27.
  22. ^ 데이비드 피어스(2014).ncdf4: Unidata net CDF(버전 4 이전) 형식의 데이터 파일에 대한 인터페이스.R 패키지 버전 1.13https://cran.r-project.org/package=ncdf4
  23. ^ Pavel Michna와 Milton Woods(2015)의 기부와 함께.RNetCDF: NetCDF 데이터 세트에 대한 인터페이스.R 패키지 버전 1.7-3.https://cran.r-project.org/package=RNetCDF
  24. ^ OpenChrom: 크로마토그래피 데이터의 질량 분석용 크로스 플랫폼 오픈 소스 소프트웨어, Philip Wenig, Juergen Odermatt, BMC 바이오인포매틱스, 2010; doi: 10.1186/1471-2105-11-405
  25. ^ "What Is netCDF?". Unidata Program Center. Archived from the original on 2013-03-15. Retrieved 2012-11-26.
  26. ^ "parallel-netcdf". Mcs.anl.gov. 2013-11-17. Archived from the original on 2008-12-01. Retrieved 2013-11-27.
  27. ^ "BUFR FORMAT DOCUMENTATION". Archived from the original on October 9, 2007. Retrieved February 2, 2008.
  28. ^ [1] 2008년 9월 5일 Wayback Machine에서 아카이브 완료
  29. ^ [2] 2005년 12월 14일 Wayback Machine에서 아카이브 완료
  30. ^ [3] 2008년 5월 21일 Wayback Machine에서 아카이브 완료
  31. ^ "GINI Satellite Format". Weather.unisys.com. Archived from the original on 2013-12-02. Retrieved 2013-11-27.
  32. ^ "Unidata GEMPAK". Unidata.ucar.edu. Archived from the original on 2013-11-04. Retrieved 2013-11-27.
  33. ^ [4] 2008년 2월 12일 Wayback Machine에서 아카이브 완료
  34. ^ "NetCDF". Unidata.ucar.edu. Archived from the original on 2013-11-29. Retrieved 2013-11-27.
  35. ^ "NetCDF-4". Unidata.ucar.edu. Archived from the original on 2015-06-17. Retrieved 2013-11-27.
  36. ^ Steve Ansari. "NCDC: Radar Resources". Ncdc.noaa.gov. Archived from the original on 2013-12-02. Retrieved 2013-11-27.

외부 링크