SlideShare una empresa de Scribd logo
1 de 53
NetCDF and HDF5
Ed Hartnett, Unidata/UCAR, 2010
Unidata
• Mission: To provide the data services, tools,
and cyberinfrastructure leadership that
advance Earth system science, enhance
educational opportunities, and broaden
participation.
Unidata Software
• NetCDF – data format and libraries.
• NetCDF-Java/common data model – reads
many data formants (HDF5, HDF4, GRIB,
BUFR, many more).
• THREDDS – Data server for cataloging and
serving data.
• IDV – Integrated Data Viewer
• IDD/LDM – Peer to peer data distribution.
• UDUNITS – Unit conversions.
What is NetCDF?






NetCDF is a set of software libraries and
machine-independent data formats that
support the creation, access, and sharing of
array-oriented scientific data.
First released in 1989.
NetCDF-4.0 (June, 2008) introduces many
new features, while maintaining full code
and data compatibility.
The NetCDF-4 Project
• Does not indicate any lack of
commitment or compatibility for
classic formats.
• Uses HDF5 as data storage layer.
• Also provides read-only access to
some HDF4, HDF5 archives.
• Parallel I/O for high performance
computing.
NetCDF Disk Formats
Commitment to Backward Compatibility
Because preserving access to archived data
for future generations is sacrosanct:
• NetCDF-4 provides both read and write access to
all earlier forms of netCDF data.
• Existing C, Fortran, and Java netCDF programs
will continue to work after recompiling and
relinking.
• Future versions of netCDF will continue to support
both data access compatibility and API
compatibility.
Who Uses NetCDF?
• NetCDF is widely
used in University
Earth Science
community.
• Used for IPCC data
sets.
• Used by NASA and
other large data
producers.
The OPeNDAP Client








OPenDAP (http://www.opendap.org/) is a
widely supported protocol for access to
remote data
Defined and maintained by the OPenDAP
organization
Designed to serve as intermediate format
for accessing a wide variety of data sources.
Client is now built into netCDF C library.
Using OPeNDAP Client








In order to access DAP data sources, you
need a special format URL:
[limit=5]http://test.opendap.org/dods/dts/te
st.32.X?windW[0:10:2]&CS02.light>
Location of data source and its part, where
X is one of "dds", "das", or "dods"
Constraints on what part of the data source
is to be sent.
NetCDF Data Models






The netCDF data model, consisting of
variables, dimensions, and attributes (the
classic model), has been expanded in
version 4.0.
The enhanced 4.0 model adds expandable
dimensions, strings, 64-bit integers,
unsigned integers, groups and user-defined
types.
The 4.0 release also adds some features
that need not use the enhanced model, like
compression, chunking, endianness control,
checksums, parallel I/O.
NetCDF Classic Model
• Contains dimensions, variables, and attributes.
NetCDF Classic Model
Enhanced
Model
NetCDF Enhanced Model
A netCDF-4 file can organize variable, dimensions, and
attributes in groups, which can be nested.

Attribute
Attribute

Attribute
Attribute

Attribute
Attribute

Attribute
Attribute
Variable

Attribute
Attribute

Attribute
Attribute

Variable

Variable

Attribute
Attribute
Variable

Attribute
Attribute
Variable
Reasons to Use Classic Model
• Provides compatibility with existing netCDF
programs.
• Still possible to use chunking, parallel I/O,
compression, endianness control.
• Simple and powerful data model.
Accessing HDF5 Data with NetCDF
NetCDF (starting with version 4.1) provides
read-only access to existing HDF5 files if they
do not violate some rules:

Must not use circular group structure.

HDF5 reference type (and some other more
obscure types) are not understood.

Write access still only possible with netCDF4/HDF5 files.

Reading HDF5 with NetCDF
Before netCDF-4.1, HDF5 files had to use
creation ordering and dimension scales in order
to be understood by netCDF-4.

Starting with netCDF-4.1, read-only access is
possible to HDF5 files with alphabetical
ordering and no dimension scales. (Created by
HDF5 1.6 perhaps.)

HDF5 may have dimension scales for all
dimensions, or for no dimensions (not for just
some of them).

Accessing HDF4 Data with NetCDF
Starting with version 4.1, netCDF will be able
to read HDF4 files created with the “Scientific
Dataset” (SD) API.

This is read-only: NetCDF can't write HDF4!

The intention is to make netCDF software
work automatically with important HDF4
scientific data collections.

Confusing: HDF4 Includes NetCDF
v2 API
•A netCDF V2 API is provided with HDF4 which
writes SD data files.
• This must be turned off at HDF4 install-time if
netCDF and HDF4 are to be linked in the same
application.
• There is no easy way to use both HDF4 with
netCDF API and netCDF with HDF4 read capability
in the same program.
Building NetCDF for HDF5/HDF4
Access
This is only available for those who also build
netCDF with HDF5.

HDF4, HDF5, zlib, and other compression
libraries must exist before netCDF is built.

Build like this:
./configure –with-hdf5=/home/ed –enable-hdf4

Building User Programs with
HDF5/HDF4 Access
Include locations of netCDF, HDF5, and HDF4
include directories:

-I/loc/of/netcdf/include -I/loc/of/hdf5/include
-I/loc/of/hdf4/include

The HDF4 and HDF5 libraries (and associated
libraries) are needed and must be linked into
all netCDF applications. The locations of the lib
directories must also be provided:

-L/loc/of/netcdf/lib -L/loc/of/hdf5/lib
-L/loc/of/hdf4/lib -lmfhdf -ldf -ljpeg -lhdf5_hl
-lhdf5 -lz

Using HDF4
You don't need to identify the file as HDF4
when opening it with netCDF, but you do have
to open it read-only.

The HDF4 SD API provides a named, shared
dimension, which fits easily into the netCDF
model.

The HDF4 SD API uses other HDF4 APIs, (like
vgroups) to store metadata. This can be
confusing when using the HDF4 data dumping
tool hdp.

HDF4 MODIS File ncdumped
../ncdump/ncdump -h
MOD29.A2000055.0005.005.2006267200024.hdf
netcdf MOD29.A2000055.0005.005.2006267200024 {
dimensions:
Coarse_swath_lines_5km:MOD_Swath_Sea_Ice = 406 ;
Coarse_swath_pixels_5km:MOD_Swath_Sea_Ice = 271 ;
Along_swath_lines_1km:MOD_Swath_Sea_Ice = 2030 ;
Cross_swath_pixels_1km:MOD_Swath_Sea_Ice = 1354 ;
variables:
float Latitude(Coarse_swath_lines_5km:MOD_Swath_Sea_Ice,
Coarse_swath_pixels_5km:MOD_Swath_Sea_Ice) ;
Latitude:long_name = "Coarse 5 km resolution latitude" ;
Latitude:units = "degrees" ;
...
Accessing HDF4-EOS Data with
NetCDF
• Data can be read, but netCDF does not (yet)
understand how to break down the
StructMetadata attribute into useful information.
// global attributes:
:HDFEOSVersion = "HDFEOS_V2.9" ;
:StructMetadata.0 =
"GROUP=SwathStructurentGROUP=SWATH_1nttSwathNam
e="MOD_Swath_Sea_Ice"nttGROUP=DimensionntttOBJE
CT=Dimension_1nttttDimensionName="Coarse_swath_lines
_5km"nttttSize=406ntttEND_OBJECT=Dimension_1nttt
OBJECT=Dimension_2nttttDimensionName="Coarse_swath
_pixels_5km"nttttSize=271nttt...
Contribute Code to Write HDF4?
Some programmers use the netCDF v2 API to
write HDF4 files.

It would not be too hard to write the glue
code to allow the v2 API -> HDF4 output from
the netCDF library.

The next step would be to allow netCDF v3/v4
API code to write HDF4 files.

Writing HDF4 seems like a low priority to our
users. I would be happy to help any user who
would like to undertake this task.

Parallel I/O with NetCDF
• Parallel I/O allows many processes to
read/write netCDF data at the same time.
• Used properly, parallel I/O allows users to
overcome I/O bottlenecks in high
performance computing environments.
• A parallel I/O file system is required for
much improvement in I/O throughput.
• NetCDF-4 can use parallel I/O with netCDF4/HDF5 files, or netCDF classic files (with
pnetcdf library).
Parallel I/O C Example
nc_create_par(FILE, NC_NETCDF4|NC_MPIIO, comm, info,
&ncid);
nc_def_dim(ncid, "d1", DIMSIZE, dimids);
nc_def_dim(ncid, "d2", DIMSIZE, &dimids[1]);
nc_def_var(ncid, "v1", NC_INT, NDIMS, dimids, &v1id);
/* Set up slab for this process. */
start[0] = mpi_rank * DIMSIZE/mpi_size;
start[1] = 0; count[0] = DIMSIZE/mpi_size;
count[1] = DIMSIZE;
nc_var_par_access(ncid, v1id, NC_INDEPENDENT);
nc_put_vara_int(ncid, v1id, start, count,
&data[mpi_rank*QTR_DATA]);
NetCDF APIs
The netCDF core library is written in C and
Java.

Fortran 77 is “faked” when netCDF is built –
actually C functions are called by Fortran 77
API.

A C++ API also calls the C API, a new C++
API us under development to support netCDF4 more fully.

C API
nc_create(FILE_NAME, NC_CLOBBER, &ncid);
nc_def_dim(ncid, "x", NX, &x_dimid);
nc_def_dim(ncid, "y", NY, &y_dimid);
dimids[0] = x_dimid;
dimids[1] = y_dimid;
nc_def_var(ncid, "data", NC_INT, NDIMS,
dimids, &varid);
nc_enddef(ncid);
nc_put_var_int(ncid, varid, &data_out[0][0]);
nc_close(ncid);
Fortran API
call check( nf90_create(FILE_NAME, NF90_CLOBBER,
ncid) )
call check( nf90_def_dim(ncid, "x", NX, x_dimid) )
call check( nf90_def_dim(ncid, "y", NY, y_dimid) )
dimids = (/ y_dimid, x_dimid /)
call check( nf90_def_var(ncid, "data", NF90_INT, dimids,
varid) )
call check( nf90_enddef(ncid) )
call check( nf90_put_var(ncid, varid, data_out) )
call check( nf90_close(ncid) )
New C++ API (cxx4)
Existing C++ API works with netCDF-4 classic
model files.

The existing API was written before many
features of C++ became standard, and thus
needed updating.

A new C++ API has been partially developed .

You can build the new API (which is not
complete!) with --enable-cxx4.

Java API
dataFile = NetcdfFileWriteable.createNew(filename, false);
// Create netCDF dimensions,
Dimension xDim = dataFile.addDimension("x", NX );
Dimension yDim = dataFile.addDimension("y", NY );
ArrayList dims = new ArrayList();
// define dimensions
dims.add( xDim);
dims.add( yDim);
...
Tools
• ncdump – ASCII or NcML dump of data file.
• ncgen – Take ASCII or NcML and create data
file.
• nccopy – Copy a file, changing format,
compression, chunking, etc.
Conventions
The NetCDF User's Guide recommends some
conventions (ex. "units" and "Conventions"
attributes).

Conventions are published agreements about how
data of a particular type should be represented to
foster interoperability.

Most conventions use attributes.

Use of an existing convention is highly
recommended. Use the CF Conventions, if applicable.

A netCDF file should use the global "Conventions"
attribute to identify which conventions it uses.

Climate and Forecast Conventions
The CF Conventions are becoming a widely
used standard for atmospheric, ocean, and
climate data.

The NetCDF Climate and Forecast (CF)
Metadata Conventions, Version 1.3, describes
consensus representations for climate and
forecast data using the netCDF-3 data model.

LibCF
−

The NetCDF CF Library supports the
creation of scientific data files conforming
to the CF conventions, using the netCDF
API.

−

Now distributed with netCDF.

−

Now home of GRIDSPEC: A standard for
the description of grids used in Earth
System models, developed by V. Balaji,
GFDL, proposed as a Climate and
Forecast (CF) convention.
UDUNITS




The Unidata units library, udunits, supports
conversion of unit specifications between
formatted and binary forms, arithmetic
manipulation of unit specifications, and
conversion of values between compatible
scales of measurement.
Now being distributed with netCDF.
NetCDF 4.1.2 Release
• Performance improvements: much faster file
opens (factor of 200 speedup).
• Better memory handling, much better
testing for leaks and memory errors in
netCDF and HDF5.
• nccopy now can compress and re-chunk
data.
• Refactoring of dispatch layer (invisible to
user).
NetCDF Future Plans
• By “plans” we really mean “aspirations.”
• We us agile programming, with aggressive
refactoring, and heavy reliance on automatic
testing.
• Our highest priority is fixing bugs so that we
do not have a bug-list to maintain and
prioritize.
Plans: Fortran Refactor
• We plan a complete Fortran re-factor within the
next year.
• Fortan 90 and Fortran 77 backward compatibility
will be preserved. No user code will need to be
rewritten.
• Fortan 90 compilers will be required (even for
F77 API code). Fortran 77 compilers will not
work with netCDF releases after the refactor.
• Fortran 90 API will be rewritten with Fortran
2003 C interoperability features. Fortran 77 API
will be rewritten in terms of Fortran 90 API.
Plans: Windows Port
• Recent refactoring of netCDF architecture
requires (yet another) Windows port. This is
planned for the end of 2010.
• Windows ports are not too hard, but require a
detailed knowledge of Microsoft's latest changes
and developments of the Windows platform.
• I invite collaboration with any Windows
programmer who would like to help with the
Windows port.
Plans: Virtual Files
• There are some uses (including
LibCF/GRIDSPEC) for disk-less netCDF files –
that is, files which exist only in memory.
• I am experimenting with this now – interested
users should contact me at:
ed@unidata.ucar.edu
Plans: More Formats
• The NetCDF Java library can read many formats
that are a mystery to the C-based library.
• Recent refactoring of the netCDF architecture
makes it easier to support additional formats.
• We would like to support GRIB and BUFR next.
We seek collaboration with interested users.
NetCDF Team – Russ Rew
• Vision.
• nccopy
• classic library
NetCDF Team – Ed Hartnett
•
•
•
•
•

NetCDF-4
Release engineering
Parallel I/O
LibCF
Fortran libraries
NetCDF Team – Dennis
Heimbigner
• Opendap client.
• New ncdump/ncgen
• Some netCDF-Java
NetCDF Team – John Caron
• NetCDF-Java
• Common Data Model
Support
Send bug reports to:
support-netcdf@unidata.ucar.edu

Your support email will enter a support
tracking system which will ensure that it does
not get lost.

But it may take us a while to solve your
problem...

Snapshot Releases and Daily
Testing
• Automatic daily test runs at Unidata ensure
that our changes don't break netCDF.
• Test results available on-line at NetCDF web
site.
• Daily snapshot release provided so users
can get latest code, and iterate fixes with
netCDF developers.
NetCDF Workshop
• Annual netCDF workshop is a good place to
learn the latest developments in netCDF,
and talk to netCDF developers.
• October 28-29, 2010, and swanky Mesa Lab
at NCAR – great views, mountain trails,
without the usual riffraff.
• Preceded by data format summit.
Questions?
• Any questions?

Más contenido relacionado

La actualidad más candente

2022年度秋学期 画像情報処理 第9回 離散フーリエ変換と離散コサイン変換 (2022. 11. 25)
2022年度秋学期 画像情報処理 第9回 離散フーリエ変換と離散コサイン変換 (2022. 11. 25) 2022年度秋学期 画像情報処理 第9回 離散フーリエ変換と離散コサイン変換 (2022. 11. 25)
2022年度秋学期 画像情報処理 第9回 離散フーリエ変換と離散コサイン変換 (2022. 11. 25) Akira Asano
 
空撮画像技術と3次元リアルタイムデータの可視化について
空撮画像技術と3次元リアルタイムデータの可視化について空撮画像技術と3次元リアルタイムデータの可視化について
空撮画像技術と3次元リアルタイムデータの可視化についてRyousuke Wayama
 
RAFT: Recurrent All-Pairs Field Transforms for Optical Flow
RAFT: Recurrent All-Pairs Field Transforms for Optical FlowRAFT: Recurrent All-Pairs Field Transforms for Optical Flow
RAFT: Recurrent All-Pairs Field Transforms for Optical FlowMasanoriSuganuma
 
[DLHacks 実装]Network Dissection: Quantifying Interpretability of Deep Visual R...
[DLHacks 実装]Network Dissection: Quantifying Interpretability of Deep Visual R...[DLHacks 実装]Network Dissection: Quantifying Interpretability of Deep Visual R...
[DLHacks 実装]Network Dissection: Quantifying Interpretability of Deep Visual R...Deep Learning JP
 
論文紹介: Fast R-CNN&Faster R-CNN
論文紹介: Fast R-CNN&Faster R-CNN論文紹介: Fast R-CNN&Faster R-CNN
論文紹介: Fast R-CNN&Faster R-CNNTakashi Abe
 
[DL輪読会]3D Human Pose Estimation @ CVPR’19 / ICCV’19
[DL輪読会]3D Human Pose Estimation @ CVPR’19 / ICCV’19[DL輪読会]3D Human Pose Estimation @ CVPR’19 / ICCV’19
[DL輪読会]3D Human Pose Estimation @ CVPR’19 / ICCV’19Deep Learning JP
 
【DL輪読会】 "Learning to render novel views from wide-baseline stereo pairs." CVP...
【DL輪読会】 "Learning to render novel views from wide-baseline stereo pairs." CVP...【DL輪読会】 "Learning to render novel views from wide-baseline stereo pairs." CVP...
【DL輪読会】 "Learning to render novel views from wide-baseline stereo pairs." CVP...Deep Learning JP
 
3次元レジストレーションの基礎とOpen3Dを用いた3次元点群処理
3次元レジストレーションの基礎とOpen3Dを用いた3次元点群処理3次元レジストレーションの基礎とOpen3Dを用いた3次元点群処理
3次元レジストレーションの基礎とOpen3Dを用いた3次元点群処理Toru Tamaki
 
【DL輪読会】NeRF in the Palm of Your Hand: Corrective Augmentation for Robotics vi...
【DL輪読会】NeRF in the Palm of Your Hand: Corrective Augmentation for Robotics vi...【DL輪読会】NeRF in the Palm of Your Hand: Corrective Augmentation for Robotics vi...
【DL輪読会】NeRF in the Palm of Your Hand: Corrective Augmentation for Robotics vi...Deep Learning JP
 
凸最適化 〜 双対定理とソルバーCVXPYの紹介 〜
凸最適化 〜 双対定理とソルバーCVXPYの紹介 〜凸最適化 〜 双対定理とソルバーCVXPYの紹介 〜
凸最適化 〜 双対定理とソルバーCVXPYの紹介 〜Tomoki Yoshida
 
3次元計測とフィルタリング
3次元計測とフィルタリング3次元計測とフィルタリング
3次元計測とフィルタリングNorishige Fukushima
 
[DL輪読会]Depth Prediction Without the Sensors: Leveraging Structure for Unsuper...
[DL輪読会]Depth Prediction Without the Sensors: Leveraging Structure for Unsuper...[DL輪読会]Depth Prediction Without the Sensors: Leveraging Structure for Unsuper...
[DL輪読会]Depth Prediction Without the Sensors: Leveraging Structure for Unsuper...Deep Learning JP
 
実践コンピュータビジョン 3章 画像間の写像
実践コンピュータビジョン 3章 画像間の写像実践コンピュータビジョン 3章 画像間の写像
実践コンピュータビジョン 3章 画像間の写像yaju88
 
종 분포 모형 활용방안
종 분포 모형 활용방안종 분포 모형 활용방안
종 분포 모형 활용방안Sanghyuk Lee
 
フォトンマッピング入門
フォトンマッピング入門フォトンマッピング入門
フォトンマッピング入門Shuichi Hayashi
 
【ECCV 2022】NeDDF: Reciprocally Constrained Field for Distance and Density
【ECCV 2022】NeDDF: Reciprocally Constrained Field for Distance and Density【ECCV 2022】NeDDF: Reciprocally Constrained Field for Distance and Density
【ECCV 2022】NeDDF: Reciprocally Constrained Field for Distance and Densitycvpaper. challenge
 
CNNの構造最適化手法(第3回3D勉強会)
CNNの構造最適化手法(第3回3D勉強会)CNNの構造最適化手法(第3回3D勉強会)
CNNの構造最適化手法(第3回3D勉強会)MasanoriSuganuma
 
[DL輪読会]A Higher-Dimensional Representation for Topologically Varying Neural R...
[DL輪読会]A Higher-Dimensional Representation for Topologically Varying Neural R...[DL輪読会]A Higher-Dimensional Representation for Topologically Varying Neural R...
[DL輪読会]A Higher-Dimensional Representation for Topologically Varying Neural R...Deep Learning JP
 
【DL輪読会】HexPlaneとK-Planes
【DL輪読会】HexPlaneとK-Planes【DL輪読会】HexPlaneとK-Planes
【DL輪読会】HexPlaneとK-PlanesDeep Learning JP
 

La actualidad más candente (20)

2022年度秋学期 画像情報処理 第9回 離散フーリエ変換と離散コサイン変換 (2022. 11. 25)
2022年度秋学期 画像情報処理 第9回 離散フーリエ変換と離散コサイン変換 (2022. 11. 25) 2022年度秋学期 画像情報処理 第9回 離散フーリエ変換と離散コサイン変換 (2022. 11. 25)
2022年度秋学期 画像情報処理 第9回 離散フーリエ変換と離散コサイン変換 (2022. 11. 25)
 
空撮画像技術と3次元リアルタイムデータの可視化について
空撮画像技術と3次元リアルタイムデータの可視化について空撮画像技術と3次元リアルタイムデータの可視化について
空撮画像技術と3次元リアルタイムデータの可視化について
 
Chainerで流体計算
Chainerで流体計算Chainerで流体計算
Chainerで流体計算
 
RAFT: Recurrent All-Pairs Field Transforms for Optical Flow
RAFT: Recurrent All-Pairs Field Transforms for Optical FlowRAFT: Recurrent All-Pairs Field Transforms for Optical Flow
RAFT: Recurrent All-Pairs Field Transforms for Optical Flow
 
[DLHacks 実装]Network Dissection: Quantifying Interpretability of Deep Visual R...
[DLHacks 実装]Network Dissection: Quantifying Interpretability of Deep Visual R...[DLHacks 実装]Network Dissection: Quantifying Interpretability of Deep Visual R...
[DLHacks 実装]Network Dissection: Quantifying Interpretability of Deep Visual R...
 
論文紹介: Fast R-CNN&Faster R-CNN
論文紹介: Fast R-CNN&Faster R-CNN論文紹介: Fast R-CNN&Faster R-CNN
論文紹介: Fast R-CNN&Faster R-CNN
 
[DL輪読会]3D Human Pose Estimation @ CVPR’19 / ICCV’19
[DL輪読会]3D Human Pose Estimation @ CVPR’19 / ICCV’19[DL輪読会]3D Human Pose Estimation @ CVPR’19 / ICCV’19
[DL輪読会]3D Human Pose Estimation @ CVPR’19 / ICCV’19
 
【DL輪読会】 "Learning to render novel views from wide-baseline stereo pairs." CVP...
【DL輪読会】 "Learning to render novel views from wide-baseline stereo pairs." CVP...【DL輪読会】 "Learning to render novel views from wide-baseline stereo pairs." CVP...
【DL輪読会】 "Learning to render novel views from wide-baseline stereo pairs." CVP...
 
3次元レジストレーションの基礎とOpen3Dを用いた3次元点群処理
3次元レジストレーションの基礎とOpen3Dを用いた3次元点群処理3次元レジストレーションの基礎とOpen3Dを用いた3次元点群処理
3次元レジストレーションの基礎とOpen3Dを用いた3次元点群処理
 
【DL輪読会】NeRF in the Palm of Your Hand: Corrective Augmentation for Robotics vi...
【DL輪読会】NeRF in the Palm of Your Hand: Corrective Augmentation for Robotics vi...【DL輪読会】NeRF in the Palm of Your Hand: Corrective Augmentation for Robotics vi...
【DL輪読会】NeRF in the Palm of Your Hand: Corrective Augmentation for Robotics vi...
 
凸最適化 〜 双対定理とソルバーCVXPYの紹介 〜
凸最適化 〜 双対定理とソルバーCVXPYの紹介 〜凸最適化 〜 双対定理とソルバーCVXPYの紹介 〜
凸最適化 〜 双対定理とソルバーCVXPYの紹介 〜
 
3次元計測とフィルタリング
3次元計測とフィルタリング3次元計測とフィルタリング
3次元計測とフィルタリング
 
[DL輪読会]Depth Prediction Without the Sensors: Leveraging Structure for Unsuper...
[DL輪読会]Depth Prediction Without the Sensors: Leveraging Structure for Unsuper...[DL輪読会]Depth Prediction Without the Sensors: Leveraging Structure for Unsuper...
[DL輪読会]Depth Prediction Without the Sensors: Leveraging Structure for Unsuper...
 
実践コンピュータビジョン 3章 画像間の写像
実践コンピュータビジョン 3章 画像間の写像実践コンピュータビジョン 3章 画像間の写像
実践コンピュータビジョン 3章 画像間の写像
 
종 분포 모형 활용방안
종 분포 모형 활용방안종 분포 모형 활용방안
종 분포 모형 활용방안
 
フォトンマッピング入門
フォトンマッピング入門フォトンマッピング入門
フォトンマッピング入門
 
【ECCV 2022】NeDDF: Reciprocally Constrained Field for Distance and Density
【ECCV 2022】NeDDF: Reciprocally Constrained Field for Distance and Density【ECCV 2022】NeDDF: Reciprocally Constrained Field for Distance and Density
【ECCV 2022】NeDDF: Reciprocally Constrained Field for Distance and Density
 
CNNの構造最適化手法(第3回3D勉強会)
CNNの構造最適化手法(第3回3D勉強会)CNNの構造最適化手法(第3回3D勉強会)
CNNの構造最適化手法(第3回3D勉強会)
 
[DL輪読会]A Higher-Dimensional Representation for Topologically Varying Neural R...
[DL輪読会]A Higher-Dimensional Representation for Topologically Varying Neural R...[DL輪読会]A Higher-Dimensional Representation for Topologically Varying Neural R...
[DL輪読会]A Higher-Dimensional Representation for Topologically Varying Neural R...
 
【DL輪読会】HexPlaneとK-Planes
【DL輪読会】HexPlaneとK-Planes【DL輪読会】HexPlaneとK-Planes
【DL輪読会】HexPlaneとK-Planes
 

Destacado

Annex 2 -- examples of observation data
Annex 2 -- examples of observation dataAnnex 2 -- examples of observation data
Annex 2 -- examples of observation dataJMA_447
 
Jma hr gsm_data_gr_ads_20130529
Jma hr gsm_data_gr_ads_20130529Jma hr gsm_data_gr_ads_20130529
Jma hr gsm_data_gr_ads_20130529JMA_447
 
SATAID_manual_201611
SATAID_manual_201611SATAID_manual_201611
SATAID_manual_201611JMA_447
 
Guide for visualizing JMA's GSM outputs using GrADS
Guide for visualizing JMA's GSM outputs using GrADSGuide for visualizing JMA's GSM outputs using GrADS
Guide for visualizing JMA's GSM outputs using GrADSJMA_447
 
Tutorial pengolahan data salinitas menggunakan aplikasi SeaDas, Excel dan ODV...
Tutorial pengolahan data salinitas menggunakan aplikasi SeaDas, Excel dan ODV...Tutorial pengolahan data salinitas menggunakan aplikasi SeaDas, Excel dan ODV...
Tutorial pengolahan data salinitas menggunakan aplikasi SeaDas, Excel dan ODV...dwi fitria ningsih
 
Interoperability with netCDF-4 - Experience with NPP and HDF-EOS5 products
Interoperability with netCDF-4 - Experience with NPP and HDF-EOS5 productsInteroperability with netCDF-4 - Experience with NPP and HDF-EOS5 products
Interoperability with netCDF-4 - Experience with NPP and HDF-EOS5 productsThe HDF-EOS Tools and Information Center
 
Esri Course Catalog 2014
Esri Course Catalog 2014Esri Course Catalog 2014
Esri Course Catalog 2014Esri
 

Destacado (14)

Working with HDF and netCDF Data in ArcGIS: Tools and Case Studies
Working with HDF and netCDF Data in ArcGIS: Tools and Case StudiesWorking with HDF and netCDF Data in ArcGIS: Tools and Case Studies
Working with HDF and netCDF Data in ArcGIS: Tools and Case Studies
 
HDF and netCDF Data Support in ArcGIS
HDF and netCDF Data Support in ArcGISHDF and netCDF Data Support in ArcGIS
HDF and netCDF Data Support in ArcGIS
 
Visualizing and Analyzing HDF-EOS5 and HDF5 data with NCL
Visualizing and Analyzing HDF-EOS5 and HDF5 data with NCLVisualizing and Analyzing HDF-EOS5 and HDF5 data with NCL
Visualizing and Analyzing HDF-EOS5 and HDF5 data with NCL
 
Summary of HDF-EOS5 Files, Data Model and File Format
Summary of HDF-EOS5 Files, Data Model and File FormatSummary of HDF-EOS5 Files, Data Model and File Format
Summary of HDF-EOS5 Files, Data Model and File Format
 
Introduction to HDF5 Data and Programming Models
Introduction to HDF5 Data and Programming ModelsIntroduction to HDF5 Data and Programming Models
Introduction to HDF5 Data and Programming Models
 
Meteo penerbangan
Meteo penerbanganMeteo penerbangan
Meteo penerbangan
 
Supporting HDF5 in GrADS
Supporting HDF5 in GrADSSupporting HDF5 in GrADS
Supporting HDF5 in GrADS
 
Annex 2 -- examples of observation data
Annex 2 -- examples of observation dataAnnex 2 -- examples of observation data
Annex 2 -- examples of observation data
 
Jma hr gsm_data_gr_ads_20130529
Jma hr gsm_data_gr_ads_20130529Jma hr gsm_data_gr_ads_20130529
Jma hr gsm_data_gr_ads_20130529
 
SATAID_manual_201611
SATAID_manual_201611SATAID_manual_201611
SATAID_manual_201611
 
Guide for visualizing JMA's GSM outputs using GrADS
Guide for visualizing JMA's GSM outputs using GrADSGuide for visualizing JMA's GSM outputs using GrADS
Guide for visualizing JMA's GSM outputs using GrADS
 
Tutorial pengolahan data salinitas menggunakan aplikasi SeaDas, Excel dan ODV...
Tutorial pengolahan data salinitas menggunakan aplikasi SeaDas, Excel dan ODV...Tutorial pengolahan data salinitas menggunakan aplikasi SeaDas, Excel dan ODV...
Tutorial pengolahan data salinitas menggunakan aplikasi SeaDas, Excel dan ODV...
 
Interoperability with netCDF-4 - Experience with NPP and HDF-EOS5 products
Interoperability with netCDF-4 - Experience with NPP and HDF-EOS5 productsInteroperability with netCDF-4 - Experience with NPP and HDF-EOS5 products
Interoperability with netCDF-4 - Experience with NPP and HDF-EOS5 products
 
Esri Course Catalog 2014
Esri Course Catalog 2014Esri Course Catalog 2014
Esri Course Catalog 2014
 

Similar a NetCDF and HDF5 Formats and APIs Explained

Tim Pugh-SPEDDEXES 2014
Tim Pugh-SPEDDEXES 2014Tim Pugh-SPEDDEXES 2014
Tim Pugh-SPEDDEXES 2014aceas13tern
 
Persistent identifiers in DataverseEU project
Persistent identifiers in DataverseEU projectPersistent identifiers in DataverseEU project
Persistent identifiers in DataverseEU projectvty
 
Arun Rathinasabapathy, Senior Software Engineer, LexisNexis at MLconf ATL 2016
Arun Rathinasabapathy, Senior Software Engineer, LexisNexis at MLconf ATL 2016Arun Rathinasabapathy, Senior Software Engineer, LexisNexis at MLconf ATL 2016
Arun Rathinasabapathy, Senior Software Engineer, LexisNexis at MLconf ATL 2016MLconf
 
Docker datascience pipeline
Docker datascience pipelineDocker datascience pipeline
Docker datascience pipelineDataWorks Summit
 
DFDL and Apache Daffodil(tm) Overview from Owl Cyber Defense
DFDL and Apache Daffodil(tm) Overview from Owl Cyber DefenseDFDL and Apache Daffodil(tm) Overview from Owl Cyber Defense
DFDL and Apache Daffodil(tm) Overview from Owl Cyber DefenseMike Beckerle
 
Advanced deeplearning4j features
Advanced deeplearning4j featuresAdvanced deeplearning4j features
Advanced deeplearning4j featuresAdam Gibson
 
2. Develop a MapReduce program to calculate the frequency of a given word in ...
2. Develop a MapReduce program to calculate the frequency of a given word in ...2. Develop a MapReduce program to calculate the frequency of a given word in ...
2. Develop a MapReduce program to calculate the frequency of a given word in ...Prof. Maulik Trivedi
 

Similar a NetCDF and HDF5 Formats and APIs Explained (20)

Introduction to NetCDF-4
Introduction to NetCDF-4Introduction to NetCDF-4
Introduction to NetCDF-4
 
HDF Update for DAAC Managers (2017-02-27)
HDF Update for DAAC Managers (2017-02-27)HDF Update for DAAC Managers (2017-02-27)
HDF Update for DAAC Managers (2017-02-27)
 
Tim Pugh-SPEDDEXES 2014
Tim Pugh-SPEDDEXES 2014Tim Pugh-SPEDDEXES 2014
Tim Pugh-SPEDDEXES 2014
 
Module net cdf4
Module net cdf4 Module net cdf4
Module net cdf4
 
HDF And HDF-EOS Tools
HDF And HDF-EOS ToolsHDF And HDF-EOS Tools
HDF And HDF-EOS Tools
 
Efficiently serving HDF5 via OPeNDAP
Efficiently serving HDF5 via OPeNDAPEfficiently serving HDF5 via OPeNDAP
Efficiently serving HDF5 via OPeNDAP
 
Implementation of HDF-EOS5 and HDF5 into NCL
Implementation of HDF-EOS5 and HDF5 into NCLImplementation of HDF-EOS5 and HDF5 into NCL
Implementation of HDF-EOS5 and HDF5 into NCL
 
Parallel HDF5 Introductory Tutorial
Parallel HDF5 Introductory TutorialParallel HDF5 Introductory Tutorial
Parallel HDF5 Introductory Tutorial
 
HDF5 iRODS
HDF5 iRODSHDF5 iRODS
HDF5 iRODS
 
Persistent identifiers in DataverseEU project
Persistent identifiers in DataverseEU projectPersistent identifiers in DataverseEU project
Persistent identifiers in DataverseEU project
 
Introduction to HDF5
Introduction to HDF5Introduction to HDF5
Introduction to HDF5
 
Arun Rathinasabapathy, Senior Software Engineer, LexisNexis at MLconf ATL 2016
Arun Rathinasabapathy, Senior Software Engineer, LexisNexis at MLconf ATL 2016Arun Rathinasabapathy, Senior Software Engineer, LexisNexis at MLconf ATL 2016
Arun Rathinasabapathy, Senior Software Engineer, LexisNexis at MLconf ATL 2016
 
HDF5 Advanced Topics
HDF5 Advanced TopicsHDF5 Advanced Topics
HDF5 Advanced Topics
 
HDF Update
HDF UpdateHDF Update
HDF Update
 
HDF Update
HDF UpdateHDF Update
HDF Update
 
Docker datascience pipeline
Docker datascience pipelineDocker datascience pipeline
Docker datascience pipeline
 
DFDL and Apache Daffodil(tm) Overview from Owl Cyber Defense
DFDL and Apache Daffodil(tm) Overview from Owl Cyber DefenseDFDL and Apache Daffodil(tm) Overview from Owl Cyber Defense
DFDL and Apache Daffodil(tm) Overview from Owl Cyber Defense
 
HDF-EOS Data Product Developer's Guide
HDF-EOS Data Product Developer's GuideHDF-EOS Data Product Developer's Guide
HDF-EOS Data Product Developer's Guide
 
Advanced deeplearning4j features
Advanced deeplearning4j featuresAdvanced deeplearning4j features
Advanced deeplearning4j features
 
2. Develop a MapReduce program to calculate the frequency of a given word in ...
2. Develop a MapReduce program to calculate the frequency of a given word in ...2. Develop a MapReduce program to calculate the frequency of a given word in ...
2. Develop a MapReduce program to calculate the frequency of a given word in ...
 

Más de The HDF-EOS Tools and Information Center

STARE-PODS: A Versatile Data Store Leveraging the HDF Virtual Object Layer fo...
STARE-PODS: A Versatile Data Store Leveraging the HDF Virtual Object Layer fo...STARE-PODS: A Versatile Data Store Leveraging the HDF Virtual Object Layer fo...
STARE-PODS: A Versatile Data Store Leveraging the HDF Virtual Object Layer fo...The HDF-EOS Tools and Information Center
 

Más de The HDF-EOS Tools and Information Center (20)

Cloud-Optimized HDF5 Files
Cloud-Optimized HDF5 FilesCloud-Optimized HDF5 Files
Cloud-Optimized HDF5 Files
 
Accessing HDF5 data in the cloud with HSDS
Accessing HDF5 data in the cloud with HSDSAccessing HDF5 data in the cloud with HSDS
Accessing HDF5 data in the cloud with HSDS
 
The State of HDF
The State of HDFThe State of HDF
The State of HDF
 
Highly Scalable Data Service (HSDS) Performance Features
Highly Scalable Data Service (HSDS) Performance FeaturesHighly Scalable Data Service (HSDS) Performance Features
Highly Scalable Data Service (HSDS) Performance Features
 
Creating Cloud-Optimized HDF5 Files
Creating Cloud-Optimized HDF5 FilesCreating Cloud-Optimized HDF5 Files
Creating Cloud-Optimized HDF5 Files
 
HDF5 OPeNDAP Handler Updates, and Performance Discussion
HDF5 OPeNDAP Handler Updates, and Performance DiscussionHDF5 OPeNDAP Handler Updates, and Performance Discussion
HDF5 OPeNDAP Handler Updates, and Performance Discussion
 
Hyrax: Serving Data from S3
Hyrax: Serving Data from S3Hyrax: Serving Data from S3
Hyrax: Serving Data from S3
 
Accessing Cloud Data and Services Using EDL, Pydap, MATLAB
Accessing Cloud Data and Services Using EDL, Pydap, MATLABAccessing Cloud Data and Services Using EDL, Pydap, MATLAB
Accessing Cloud Data and Services Using EDL, Pydap, MATLAB
 
HDF - Current status and Future Directions
HDF - Current status and Future DirectionsHDF - Current status and Future Directions
HDF - Current status and Future Directions
 
HDFEOS.org User Analsys, Updates, and Future
HDFEOS.org User Analsys, Updates, and FutureHDFEOS.org User Analsys, Updates, and Future
HDFEOS.org User Analsys, Updates, and Future
 
HDF - Current status and Future Directions
HDF - Current status and Future Directions HDF - Current status and Future Directions
HDF - Current status and Future Directions
 
H5Coro: The Cloud-Optimized Read-Only Library
H5Coro: The Cloud-Optimized Read-Only LibraryH5Coro: The Cloud-Optimized Read-Only Library
H5Coro: The Cloud-Optimized Read-Only Library
 
MATLAB Modernization on HDF5 1.10
MATLAB Modernization on HDF5 1.10MATLAB Modernization on HDF5 1.10
MATLAB Modernization on HDF5 1.10
 
HDF for the Cloud - Serverless HDF
HDF for the Cloud - Serverless HDFHDF for the Cloud - Serverless HDF
HDF for the Cloud - Serverless HDF
 
HDF5 <-> Zarr
HDF5 <-> ZarrHDF5 <-> Zarr
HDF5 <-> Zarr
 
HDF for the Cloud - New HDF Server Features
HDF for the Cloud - New HDF Server FeaturesHDF for the Cloud - New HDF Server Features
HDF for the Cloud - New HDF Server Features
 
Apache Drill and Unidata THREDDS Data Server for NASA HDF-EOS on S3
Apache Drill and Unidata THREDDS Data Server for NASA HDF-EOS on S3Apache Drill and Unidata THREDDS Data Server for NASA HDF-EOS on S3
Apache Drill and Unidata THREDDS Data Server for NASA HDF-EOS on S3
 
STARE-PODS: A Versatile Data Store Leveraging the HDF Virtual Object Layer fo...
STARE-PODS: A Versatile Data Store Leveraging the HDF Virtual Object Layer fo...STARE-PODS: A Versatile Data Store Leveraging the HDF Virtual Object Layer fo...
STARE-PODS: A Versatile Data Store Leveraging the HDF Virtual Object Layer fo...
 
HDF5 and Ecosystem: What Is New?
HDF5 and Ecosystem: What Is New?HDF5 and Ecosystem: What Is New?
HDF5 and Ecosystem: What Is New?
 
HDF5 Roadmap 2019-2020
HDF5 Roadmap 2019-2020HDF5 Roadmap 2019-2020
HDF5 Roadmap 2019-2020
 

Último

Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 

Último (20)

Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 

NetCDF and HDF5 Formats and APIs Explained

  • 1. NetCDF and HDF5 Ed Hartnett, Unidata/UCAR, 2010
  • 2. Unidata • Mission: To provide the data services, tools, and cyberinfrastructure leadership that advance Earth system science, enhance educational opportunities, and broaden participation.
  • 3. Unidata Software • NetCDF – data format and libraries. • NetCDF-Java/common data model – reads many data formants (HDF5, HDF4, GRIB, BUFR, many more). • THREDDS – Data server for cataloging and serving data. • IDV – Integrated Data Viewer • IDD/LDM – Peer to peer data distribution. • UDUNITS – Unit conversions.
  • 4. What is NetCDF?    NetCDF is a set of software libraries and machine-independent data formats that support the creation, access, and sharing of array-oriented scientific data. First released in 1989. NetCDF-4.0 (June, 2008) introduces many new features, while maintaining full code and data compatibility.
  • 5. The NetCDF-4 Project • Does not indicate any lack of commitment or compatibility for classic formats. • Uses HDF5 as data storage layer. • Also provides read-only access to some HDF4, HDF5 archives. • Parallel I/O for high performance computing.
  • 7.
  • 8. Commitment to Backward Compatibility Because preserving access to archived data for future generations is sacrosanct: • NetCDF-4 provides both read and write access to all earlier forms of netCDF data. • Existing C, Fortran, and Java netCDF programs will continue to work after recompiling and relinking. • Future versions of netCDF will continue to support both data access compatibility and API compatibility.
  • 9. Who Uses NetCDF? • NetCDF is widely used in University Earth Science community. • Used for IPCC data sets. • Used by NASA and other large data producers.
  • 10. The OPeNDAP Client     OPenDAP (http://www.opendap.org/) is a widely supported protocol for access to remote data Defined and maintained by the OPenDAP organization Designed to serve as intermediate format for accessing a wide variety of data sources. Client is now built into netCDF C library.
  • 11. Using OPeNDAP Client     In order to access DAP data sources, you need a special format URL: [limit=5]http://test.opendap.org/dods/dts/te st.32.X?windW[0:10:2]&CS02.light> Location of data source and its part, where X is one of "dds", "das", or "dods" Constraints on what part of the data source is to be sent.
  • 12. NetCDF Data Models    The netCDF data model, consisting of variables, dimensions, and attributes (the classic model), has been expanded in version 4.0. The enhanced 4.0 model adds expandable dimensions, strings, 64-bit integers, unsigned integers, groups and user-defined types. The 4.0 release also adds some features that need not use the enhanced model, like compression, chunking, endianness control, checksums, parallel I/O.
  • 13. NetCDF Classic Model • Contains dimensions, variables, and attributes.
  • 16. NetCDF Enhanced Model A netCDF-4 file can organize variable, dimensions, and attributes in groups, which can be nested. Attribute Attribute Attribute Attribute Attribute Attribute Attribute Attribute Variable Attribute Attribute Attribute Attribute Variable Variable Attribute Attribute Variable Attribute Attribute Variable
  • 17. Reasons to Use Classic Model • Provides compatibility with existing netCDF programs. • Still possible to use chunking, parallel I/O, compression, endianness control. • Simple and powerful data model.
  • 18. Accessing HDF5 Data with NetCDF NetCDF (starting with version 4.1) provides read-only access to existing HDF5 files if they do not violate some rules:  Must not use circular group structure.  HDF5 reference type (and some other more obscure types) are not understood.  Write access still only possible with netCDF4/HDF5 files. 
  • 19. Reading HDF5 with NetCDF Before netCDF-4.1, HDF5 files had to use creation ordering and dimension scales in order to be understood by netCDF-4.  Starting with netCDF-4.1, read-only access is possible to HDF5 files with alphabetical ordering and no dimension scales. (Created by HDF5 1.6 perhaps.)  HDF5 may have dimension scales for all dimensions, or for no dimensions (not for just some of them). 
  • 20. Accessing HDF4 Data with NetCDF Starting with version 4.1, netCDF will be able to read HDF4 files created with the “Scientific Dataset” (SD) API.  This is read-only: NetCDF can't write HDF4!  The intention is to make netCDF software work automatically with important HDF4 scientific data collections. 
  • 21. Confusing: HDF4 Includes NetCDF v2 API •A netCDF V2 API is provided with HDF4 which writes SD data files. • This must be turned off at HDF4 install-time if netCDF and HDF4 are to be linked in the same application. • There is no easy way to use both HDF4 with netCDF API and netCDF with HDF4 read capability in the same program.
  • 22. Building NetCDF for HDF5/HDF4 Access This is only available for those who also build netCDF with HDF5.  HDF4, HDF5, zlib, and other compression libraries must exist before netCDF is built.  Build like this: ./configure –with-hdf5=/home/ed –enable-hdf4 
  • 23. Building User Programs with HDF5/HDF4 Access Include locations of netCDF, HDF5, and HDF4 include directories:  -I/loc/of/netcdf/include -I/loc/of/hdf5/include -I/loc/of/hdf4/include  The HDF4 and HDF5 libraries (and associated libraries) are needed and must be linked into all netCDF applications. The locations of the lib directories must also be provided:  -L/loc/of/netcdf/lib -L/loc/of/hdf5/lib -L/loc/of/hdf4/lib -lmfhdf -ldf -ljpeg -lhdf5_hl -lhdf5 -lz 
  • 24. Using HDF4 You don't need to identify the file as HDF4 when opening it with netCDF, but you do have to open it read-only.  The HDF4 SD API provides a named, shared dimension, which fits easily into the netCDF model.  The HDF4 SD API uses other HDF4 APIs, (like vgroups) to store metadata. This can be confusing when using the HDF4 data dumping tool hdp. 
  • 25. HDF4 MODIS File ncdumped ../ncdump/ncdump -h MOD29.A2000055.0005.005.2006267200024.hdf netcdf MOD29.A2000055.0005.005.2006267200024 { dimensions: Coarse_swath_lines_5km:MOD_Swath_Sea_Ice = 406 ; Coarse_swath_pixels_5km:MOD_Swath_Sea_Ice = 271 ; Along_swath_lines_1km:MOD_Swath_Sea_Ice = 2030 ; Cross_swath_pixels_1km:MOD_Swath_Sea_Ice = 1354 ; variables: float Latitude(Coarse_swath_lines_5km:MOD_Swath_Sea_Ice, Coarse_swath_pixels_5km:MOD_Swath_Sea_Ice) ; Latitude:long_name = "Coarse 5 km resolution latitude" ; Latitude:units = "degrees" ; ...
  • 26. Accessing HDF4-EOS Data with NetCDF • Data can be read, but netCDF does not (yet) understand how to break down the StructMetadata attribute into useful information. // global attributes: :HDFEOSVersion = "HDFEOS_V2.9" ; :StructMetadata.0 = "GROUP=SwathStructurentGROUP=SWATH_1nttSwathNam e="MOD_Swath_Sea_Ice"nttGROUP=DimensionntttOBJE CT=Dimension_1nttttDimensionName="Coarse_swath_lines _5km"nttttSize=406ntttEND_OBJECT=Dimension_1nttt OBJECT=Dimension_2nttttDimensionName="Coarse_swath _pixels_5km"nttttSize=271nttt...
  • 27. Contribute Code to Write HDF4? Some programmers use the netCDF v2 API to write HDF4 files.  It would not be too hard to write the glue code to allow the v2 API -> HDF4 output from the netCDF library.  The next step would be to allow netCDF v3/v4 API code to write HDF4 files.  Writing HDF4 seems like a low priority to our users. I would be happy to help any user who would like to undertake this task. 
  • 28. Parallel I/O with NetCDF • Parallel I/O allows many processes to read/write netCDF data at the same time. • Used properly, parallel I/O allows users to overcome I/O bottlenecks in high performance computing environments. • A parallel I/O file system is required for much improvement in I/O throughput. • NetCDF-4 can use parallel I/O with netCDF4/HDF5 files, or netCDF classic files (with pnetcdf library).
  • 29. Parallel I/O C Example nc_create_par(FILE, NC_NETCDF4|NC_MPIIO, comm, info, &ncid); nc_def_dim(ncid, "d1", DIMSIZE, dimids); nc_def_dim(ncid, "d2", DIMSIZE, &dimids[1]); nc_def_var(ncid, "v1", NC_INT, NDIMS, dimids, &v1id); /* Set up slab for this process. */ start[0] = mpi_rank * DIMSIZE/mpi_size; start[1] = 0; count[0] = DIMSIZE/mpi_size; count[1] = DIMSIZE; nc_var_par_access(ncid, v1id, NC_INDEPENDENT); nc_put_vara_int(ncid, v1id, start, count, &data[mpi_rank*QTR_DATA]);
  • 30. NetCDF APIs The netCDF core library is written in C and Java.  Fortran 77 is “faked” when netCDF is built – actually C functions are called by Fortran 77 API.  A C++ API also calls the C API, a new C++ API us under development to support netCDF4 more fully. 
  • 31. C API nc_create(FILE_NAME, NC_CLOBBER, &ncid); nc_def_dim(ncid, "x", NX, &x_dimid); nc_def_dim(ncid, "y", NY, &y_dimid); dimids[0] = x_dimid; dimids[1] = y_dimid; nc_def_var(ncid, "data", NC_INT, NDIMS, dimids, &varid); nc_enddef(ncid); nc_put_var_int(ncid, varid, &data_out[0][0]); nc_close(ncid);
  • 32. Fortran API call check( nf90_create(FILE_NAME, NF90_CLOBBER, ncid) ) call check( nf90_def_dim(ncid, "x", NX, x_dimid) ) call check( nf90_def_dim(ncid, "y", NY, y_dimid) ) dimids = (/ y_dimid, x_dimid /) call check( nf90_def_var(ncid, "data", NF90_INT, dimids, varid) ) call check( nf90_enddef(ncid) ) call check( nf90_put_var(ncid, varid, data_out) ) call check( nf90_close(ncid) )
  • 33. New C++ API (cxx4) Existing C++ API works with netCDF-4 classic model files.  The existing API was written before many features of C++ became standard, and thus needed updating.  A new C++ API has been partially developed .  You can build the new API (which is not complete!) with --enable-cxx4. 
  • 34. Java API dataFile = NetcdfFileWriteable.createNew(filename, false); // Create netCDF dimensions, Dimension xDim = dataFile.addDimension("x", NX ); Dimension yDim = dataFile.addDimension("y", NY ); ArrayList dims = new ArrayList(); // define dimensions dims.add( xDim); dims.add( yDim); ...
  • 35. Tools • ncdump – ASCII or NcML dump of data file. • ncgen – Take ASCII or NcML and create data file. • nccopy – Copy a file, changing format, compression, chunking, etc.
  • 36. Conventions The NetCDF User's Guide recommends some conventions (ex. "units" and "Conventions" attributes).  Conventions are published agreements about how data of a particular type should be represented to foster interoperability.  Most conventions use attributes.  Use of an existing convention is highly recommended. Use the CF Conventions, if applicable.  A netCDF file should use the global "Conventions" attribute to identify which conventions it uses. 
  • 37. Climate and Forecast Conventions The CF Conventions are becoming a widely used standard for atmospheric, ocean, and climate data.  The NetCDF Climate and Forecast (CF) Metadata Conventions, Version 1.3, describes consensus representations for climate and forecast data using the netCDF-3 data model. 
  • 38. LibCF − The NetCDF CF Library supports the creation of scientific data files conforming to the CF conventions, using the netCDF API. − Now distributed with netCDF. − Now home of GRIDSPEC: A standard for the description of grids used in Earth System models, developed by V. Balaji, GFDL, proposed as a Climate and Forecast (CF) convention.
  • 39. UDUNITS   The Unidata units library, udunits, supports conversion of unit specifications between formatted and binary forms, arithmetic manipulation of unit specifications, and conversion of values between compatible scales of measurement. Now being distributed with netCDF.
  • 40. NetCDF 4.1.2 Release • Performance improvements: much faster file opens (factor of 200 speedup). • Better memory handling, much better testing for leaks and memory errors in netCDF and HDF5. • nccopy now can compress and re-chunk data. • Refactoring of dispatch layer (invisible to user).
  • 41. NetCDF Future Plans • By “plans” we really mean “aspirations.” • We us agile programming, with aggressive refactoring, and heavy reliance on automatic testing. • Our highest priority is fixing bugs so that we do not have a bug-list to maintain and prioritize.
  • 42. Plans: Fortran Refactor • We plan a complete Fortran re-factor within the next year. • Fortan 90 and Fortran 77 backward compatibility will be preserved. No user code will need to be rewritten. • Fortan 90 compilers will be required (even for F77 API code). Fortran 77 compilers will not work with netCDF releases after the refactor. • Fortran 90 API will be rewritten with Fortran 2003 C interoperability features. Fortran 77 API will be rewritten in terms of Fortran 90 API.
  • 43. Plans: Windows Port • Recent refactoring of netCDF architecture requires (yet another) Windows port. This is planned for the end of 2010. • Windows ports are not too hard, but require a detailed knowledge of Microsoft's latest changes and developments of the Windows platform. • I invite collaboration with any Windows programmer who would like to help with the Windows port.
  • 44. Plans: Virtual Files • There are some uses (including LibCF/GRIDSPEC) for disk-less netCDF files – that is, files which exist only in memory. • I am experimenting with this now – interested users should contact me at: ed@unidata.ucar.edu
  • 45. Plans: More Formats • The NetCDF Java library can read many formats that are a mystery to the C-based library. • Recent refactoring of the netCDF architecture makes it easier to support additional formats. • We would like to support GRIB and BUFR next. We seek collaboration with interested users.
  • 46. NetCDF Team – Russ Rew • Vision. • nccopy • classic library
  • 47. NetCDF Team – Ed Hartnett • • • • • NetCDF-4 Release engineering Parallel I/O LibCF Fortran libraries
  • 48. NetCDF Team – Dennis Heimbigner • Opendap client. • New ncdump/ncgen • Some netCDF-Java
  • 49. NetCDF Team – John Caron • NetCDF-Java • Common Data Model
  • 50. Support Send bug reports to: support-netcdf@unidata.ucar.edu  Your support email will enter a support tracking system which will ensure that it does not get lost.  But it may take us a while to solve your problem... 
  • 51. Snapshot Releases and Daily Testing • Automatic daily test runs at Unidata ensure that our changes don't break netCDF. • Test results available on-line at NetCDF web site. • Daily snapshot release provided so users can get latest code, and iterate fixes with netCDF developers.
  • 52. NetCDF Workshop • Annual netCDF workshop is a good place to learn the latest developments in netCDF, and talk to netCDF developers. • October 28-29, 2010, and swanky Mesa Lab at NCAR – great views, mountain trails, without the usual riffraff. • Preceded by data format summit.